js 冒泡事件與事件監(jiān)聽使用分析
更新時間:2009年09月21日 19:50:32 作者:
js 冒泡事件與事件監(jiān)聽 代碼分析
冒泡事件
js中“冒泡事件(bubble)”并不是能實際使用的花哨技巧,它是一種對js事件執(zhí)行順序的機制,“冒泡算法”在編程里是一個經(jīng)典問題,冒泡算法里面的“冒泡”應該說是交換更加準確;js里面的“冒泡事件”才是真正意義上的“冒泡”,它從DOM最低層逐層遍歷樹,然后附加相應事件。以下面代碼為例:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行效果
事件監(jiān)聽
事件監(jiān)聽準確一點講可以說是js引擎對用戶鼠標、鍵盤、窗口事件等動作的監(jiān)視進行的操作,也就是針對用戶相應的操作進行附加事件,常用的類似 btnAdd.onclick="alert('51obj.cn')"就是一種簡單的附加事件,只不過這種方法不支持附加多個事件以及刪除事件。以下代 碼將實現(xiàn)附加事件后刪除事件(IE下):
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行結果
IE不能稱為標準的DOM瀏覽器,即使是最新的IE8,相對于標準DOM如Firefox、Opera等,它是個“異類”;在Firefox中才真正有稱為事件監(jiān)聽的函數(shù)addEventListener,如下例
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行效果
從上面兩個例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
js中“冒泡事件(bubble)”并不是能實際使用的花哨技巧,它是一種對js事件執(zhí)行順序的機制,“冒泡算法”在編程里是一個經(jīng)典問題,冒泡算法里面的“冒泡”應該說是交換更加準確;js里面的“冒泡事件”才是真正意義上的“冒泡”,它從DOM最低層逐層遍歷樹,然后附加相應事件。以下面代碼為例:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行效果
事件監(jiān)聽
事件監(jiān)聽準確一點講可以說是js引擎對用戶鼠標、鍵盤、窗口事件等動作的監(jiān)視進行的操作,也就是針對用戶相應的操作進行附加事件,常用的類似 btnAdd.onclick="alert('51obj.cn')"就是一種簡單的附加事件,只不過這種方法不支持附加多個事件以及刪除事件。以下代 碼將實現(xiàn)附加事件后刪除事件(IE下):
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行結果
IE不能稱為標準的DOM瀏覽器,即使是最新的IE8,相對于標準DOM如Firefox、Opera等,它是個“異類”;在Firefox中才真正有稱為事件監(jiān)聽的函數(shù)addEventListener,如下例
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
查看運行效果
從上面兩個例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
您可能感興趣的文章:
- JS 事件綁定、事件監(jiān)聽、事件委托詳細介紹
- js事件監(jiān)聽器用法實例詳解
- js事件監(jiān)聽機制(事件捕獲)總結
- js實現(xiàn)滑動觸屏事件監(jiān)聽的方法
- javascript在事件監(jiān)聽方面的兼容性小結
- JavaScript綁定事件監(jiān)聽函數(shù)的通用方法
- javascript事件委托的方式綁定詳解
- JS實現(xiàn)為動態(tài)添加的元素增加事件功能示例【基于事件委托】
- JavaScript中的事件委托及好處
- JavaScript動態(tài)添加事件之事件委托
- javascript性能優(yōu)化之事件委托實例詳解
- javascript事件監(jiān)聽與事件委托實例詳解
相關文章
js window.print實現(xiàn)打印特定控件或內(nèi)容
window.print可以打印網(wǎng)頁,但有時候我們只希望打印特定控件或內(nèi)容,怎么辦呢?可以把要打印的內(nèi)容放在div中,然后用下面的代碼進行打印,希望對大家有所幫助2013-09-09