2 回答

TA貢獻1820條經驗 獲得超9個贊
用于HTML內代碼層和UI層分離。
比如,你要給一個按鈕增加一個單擊事件,你會怎么做?<input type="button" id="theBtn" value="點擊" onclick="alert('點擊了一下');" />明顯的,它破壞了標簽,如果下次要修改這個按鈕不小心就會丟失。
attachEvent是為了將事件分離
attachEvent應該是attach Event,它是附加事件的意思。
2. 附加事件具有一種 XAML 語法和編碼模式,后備代碼必須使用該語法和編碼模式才支持附加事件的使用。在 XAML 語法中,不僅可以通過事件名稱來指定附加事件,而且還可以通過用點 (.) 分隔的事件擁有類型加上事件名稱來指定。因為事件名稱是使用其擁有類型的名稱限定的,所以附加事件語法允許將任何附加事件附加到可以實例化的任何元素上。例如,下面是為自定義 NeedsCleaning 附加事件附加處理程序的 XAML 語法:<aqua:Aquarium Name="theAquarium" Height="600" Width="800" aqua:AquariumFilter.NeedsCleaning="WashMe"/>
3. 請注意 aqua: 前綴;該前綴在本例中是必需的,因為附加事件是來自自定義映射 xmlns 的自定義事件。

TA貢獻1841條經驗 獲得超3個贊
比如,你要給一個按鈕增加一個單擊事件,你會怎么做?
<input type="button" id="theBtn" value="點擊" onclick="alert('點擊了一下');" />
明顯的,它破壞了標簽,如果下次要修改這個按鈕不小心就會丟失。
attachEvent是為了將事件分離,如:
<input type="button" id="theBtn" value="點擊" />
var theBtn = document.getElementById("theBtn"); //取得ID為theBtn的按鈕
theBtn.attachEvent("onclick", buttonClicked); //給按鈕增加事件
function buttonClicked(e){ alert("點擊了一下"); } //定義函數
attachEvent用法:
attachEvent(事件類型, 處理函數);
P.S.:在Firefox中,對應的函數是addEventListener(事件類型, 處理函數, 使用捕獲);
在簡單的HTML應用中可能用不用效果不明顯,但是在復雜的HTML客戶端JS代碼內,優勢就體現出來了。
- 2 回答
- 0 關注
- 974 瀏覽
添加回答
舉報