2 回答

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

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