2 回答

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

TA貢獻1841條經(jīng)驗 獲得超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("點擊了一下"); } //定義函數(shù)
attachEvent用法:
attachEvent(事件類型, 處理函數(shù));
P.S.:在Firefox中,對應(yīng)的函數(shù)是addEventListener(事件類型, 處理函數(shù), 使用捕獲);
在簡單的HTML應(yīng)用中可能用不用效果不明顯,但是在復(fù)雜的HTML客戶端JS代碼內(nèi),優(yōu)勢就體現(xiàn)出來了。
- 2 回答
- 0 關(guān)注
- 983 瀏覽
添加回答
舉報