js 冒泡事件與事件監(jiān)聽使用分析
更新時(shí)間:2009年09月21日 19:50:32 作者:
js 冒泡事件與事件監(jiān)聽 代碼分析
冒泡事件
js中“冒泡事件(bubble)”并不是能實(shí)際使用的花哨技巧,它是一種對(duì)js事件執(zhí)行順序的機(jī)制,“冒泡算法”在編程里是一個(gè)經(jīng)典問(wèn)題,冒泡算法里面的“冒泡”應(yīng)該說(shuō)是交換更加準(zhǔn)確;js里面的“冒泡事件”才是真正意義上的“冒泡”,它從DOM最低層逐層遍歷樹,然后附加相應(yīng)事件。以下面代碼為例:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行效果
事件監(jiān)聽
事件監(jiān)聽準(zhǔn)確一點(diǎn)講可以說(shuō)是js引擎對(duì)用戶鼠標(biāo)、鍵盤、窗口事件等動(dòng)作的監(jiān)視進(jìn)行的操作,也就是針對(duì)用戶相應(yīng)的操作進(jìn)行附加事件,常用的類似 btnAdd.onclick="alert('51obj.cn')"就是一種簡(jiǎn)單的附加事件,只不過(guò)這種方法不支持附加多個(gè)事件以及刪除事件。以下代 碼將實(shí)現(xiàn)附加事件后刪除事件(IE下):
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行結(jié)果
IE不能稱為標(biāo)準(zhǔn)的DOM瀏覽器,即使是最新的IE8,相對(duì)于標(biāo)準(zhǔn)DOM如Firefox、Opera等,它是個(gè)“異類”;在Firefox中才真正有稱為事件監(jiān)聽的函數(shù)addEventListener,如下例
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行效果
從上面兩個(gè)例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
js中“冒泡事件(bubble)”并不是能實(shí)際使用的花哨技巧,它是一種對(duì)js事件執(zhí)行順序的機(jī)制,“冒泡算法”在編程里是一個(gè)經(jīng)典問(wèn)題,冒泡算法里面的“冒泡”應(yīng)該說(shuō)是交換更加準(zhǔn)確;js里面的“冒泡事件”才是真正意義上的“冒泡”,它從DOM最低層逐層遍歷樹,然后附加相應(yīng)事件。以下面代碼為例:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行效果
事件監(jiān)聽
事件監(jiān)聽準(zhǔn)確一點(diǎn)講可以說(shuō)是js引擎對(duì)用戶鼠標(biāo)、鍵盤、窗口事件等動(dòng)作的監(jiān)視進(jìn)行的操作,也就是針對(duì)用戶相應(yīng)的操作進(jìn)行附加事件,常用的類似 btnAdd.onclick="alert('51obj.cn')"就是一種簡(jiǎn)單的附加事件,只不過(guò)這種方法不支持附加多個(gè)事件以及刪除事件。以下代 碼將實(shí)現(xiàn)附加事件后刪除事件(IE下):
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行結(jié)果
IE不能稱為標(biāo)準(zhǔn)的DOM瀏覽器,即使是最新的IE8,相對(duì)于標(biāo)準(zhǔn)DOM如Firefox、Opera等,它是個(gè)“異類”;在Firefox中才真正有稱為事件監(jiān)聽的函數(shù)addEventListener,如下例
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
查看運(yùn)行效果
從上面兩個(gè)例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
您可能感興趣的文章:
- JS 事件綁定、事件監(jiān)聽、事件委托詳細(xì)介紹
- js事件監(jiān)聽器用法實(shí)例詳解
- js事件監(jiān)聽機(jī)制(事件捕獲)總結(jié)
- js實(shí)現(xiàn)滑動(dòng)觸屏事件監(jiān)聽的方法
- javascript在事件監(jiān)聽方面的兼容性小結(jié)
- JavaScript綁定事件監(jiān)聽函數(shù)的通用方法
- javascript事件委托的方式綁定詳解
- JS實(shí)現(xiàn)為動(dòng)態(tài)添加的元素增加事件功能示例【基于事件委托】
- JavaScript中的事件委托及好處
- JavaScript動(dòng)態(tài)添加事件之事件委托
- javascript性能優(yōu)化之事件委托實(shí)例詳解
- javascript事件監(jiān)聽與事件委托實(shí)例詳解
相關(guān)文章
PHP實(shí)現(xiàn)本地圖片上傳和驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了PHP實(shí)現(xiàn)本地圖片上傳和驗(yàn)證功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化
這篇文章主要介紹了JS字符串和數(shù)組如何實(shí)現(xiàn)相互轉(zhuǎn)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07用JavaScript做簡(jiǎn)易的購(gòu)物車的代碼示例
這篇文章主要介紹了用JavaScript做簡(jiǎn)易的購(gòu)物車的代碼示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10js window.print實(shí)現(xiàn)打印特定控件或內(nèi)容
window.print可以打印網(wǎng)頁(yè),但有時(shí)候我們只希望打印特定控件或內(nèi)容,怎么辦呢?可以把要打印的內(nèi)容放在div中,然后用下面的代碼進(jìn)行打印,希望對(duì)大家有所幫助2013-09-09頁(yè)面圖片浮動(dòng)左右滑動(dòng)效果的簡(jiǎn)單實(shí)現(xiàn)案例
本篇文章主要是對(duì)頁(yè)面圖片浮動(dòng)左右滑動(dòng)效果的簡(jiǎn)單實(shí)現(xiàn)案例進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02