|
js中“冒泡事件(bubble)”并不是能實(shí)際使用的花哨技巧,它是一種對(duì)js事件執(zhí)行順序的機(jī)制,“冒泡算法”在編程里是一個(gè)經(jīng)典問(wèn)題,冒泡算法里面的“冒泡”應(yīng)該說(shuō)是交換更加準(zhǔn)確;js里面的“冒泡事件”才是真正意義上的“冒泡”,它從DOM最低層逐層遍歷樹(shù),然后附加相應(yīng)事件。以下面代碼為例:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
查看運(yùn)行效果
事件監(jiān)聽(tīng)
事件監(jiān)聽(tīng)準(zhǔn)確一點(diǎn)講可以說(shuō)是js引擎對(duì)用戶(hù)鼠標(biāo)、鍵盤(pán)、窗口事件等動(dòng)作的監(jiān)視進(jìn)行的操作,也就是針對(duì)用戶(hù)相應(yīng)的操作進(jìn)行附加事件,常用的類(lèi)似 btnAdd.onclick="alert('51obj.cn')"就是一種簡(jiǎn)單的附加事件,只不過(guò)這種方法不支持附加多個(gè)事件以及刪除事件。以下代 碼將實(shí)現(xiàn)附加事件后刪除事件(IE下):
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
查看運(yùn)行結(jié)果
IE不能稱(chēng)為標(biāo)準(zhǔn)的DOM瀏覽器,即使是最新的IE8,相對(duì)于標(biāo)準(zhǔn)DOM如Firefox、Opera等,它是個(gè)“異類(lèi)”;在Firefox中才真正有稱(chēng)為事件監(jiān)聽(tīng)的函數(shù)addEventListener,如下例
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
查看運(yùn)行效果
從上面兩個(gè)例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
JavaScript技術(shù):js 冒泡事件與事件監(jiān)聽(tīng)使用分析,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。