色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

js中addEventListener()與removeEventListener()用法案例分析

瀏覽:123日期:2024-05-23 10:59:06

本文實例講述了js中addEventListener()與removeEventListener()用法。分享給大家供大家參考,具體如下:

所有的DOM節點中都包含addEventListener()與removeEventListener()這兩種方法,用于追加事件和刪除追加。

接受參數:要處理的事件名、作為事件處理程序的函數和一個布爾值。 (3個)

最后這個布爾值參數是true,表示在捕獲階段調用事件處理程序;如果是false,表示在冒泡階段調用事件處理程序。默認為false;

事件傳遞有兩種方式:冒泡與捕獲。

事件傳遞定義了元素事件觸發的順序。 如果你將 <p> 元素插入到 <div> 元素中,用戶點擊 <p> 元素, 哪個元素的 'click' 事件先被觸發呢?

冒泡 中,內部元素的事件會先被觸發,然后再觸發外部元素,即: <p> 元素的點擊事件先觸發,然后會觸發 <div> 元素的點擊事件。

捕獲 中,外部元素的事件會先被觸發,然后才會觸發內部元素的事件,即: <div> 元素的點擊事件先觸發 ,然后再觸發 <p> 元素的點擊事件。

假如在一個按鈕上添加一個點擊事件,代碼如下:

var btn = document.getElementById('myBtn');btn.addEventListener('click', function () { alert(this.id);}, false);

使用DOM2級方法添加事件處理程序的主要好處是可以添加多個事件處理程序。來看下面的例子:

var btn = document.getElementById('myBtn');btn.addEventListener('click', function () { alert(this.id);}, false);btn.addEventListener('click', function () { alert('Hello World');}, false);

通過addEventListener()添加的事件處理程序只能使用removeEventListener()來移除;移除時傳入的參數與添加處理程序時使用的參數相同。通過addEventListener()添加的匿名函數無法移除,如下面的例子所示:

var btn = document.getElementById('myBtn');btn.addEventListener('click', function () { alert(this.id);}, false);btn.removeEventListener('click', function () { //無效! alert(this.id);}, false);

在這個例子中,removeEventListener無法刪除addEventListener所追加的事件,因為兩個方法并不相等,內存地址已經是不同的,如下面的例子所示:

var btn = document.getElementById('myBtn');var handler = function () { alert(this.id); };btn.addEventListener('click', handler, false);btn.removeEventListener('click', handler, false); //有效!

案例:

<div id='myDIV'> div 元素添加了 onmousemove 事件句柄,鼠標在桔紅色的框內移動時會顯示隨機數。 <p>點擊按鈕移除 DIV 的事件句柄。</p> <button onclick='removeHandler()' id='myBtn'>點我</button></div><p id='demo'></p><script>document.getElementById('myDIV').addEventListener('mousemove', myFunction);function myFunction() { document.getElementById('demo').innerHTML = Math.random();}function removeHandler() { document.getElementById('myDIV').removeEventListener('mousemove', myFunction);}</script>

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产在线综合一区二区三区 | 国产精品一级香蕉一区 | 国产精品分类视频分类一区 | 成人资源在线 | 亚洲国产精品一区二区三区久久 | 成人亚洲视频在线观看 | 最新精品国产 | 欧美成人xxx | 欧美不卡在线视频 | 免费人成年短视频在线观看免费网站 | 玖草| 精品72久久久久久久中文字幕 | 男女免费观看在线爽爽爽视频 | 91久久精品青青草原伊人 | 国产第二页| 国产va精品网站精品网站精品 | 伊人22综合| 国产农村乱 | 日韩欧美一区二区三区不卡在线 | 亚洲精品中文字幕久久久久久 | 好吊妞国产欧美日韩视频 | 在线成人免费视频 | 中国成人免费视频 | 亚洲香蕉久久一区二区三区四区 | 亚洲成综合 | 高清在线亚洲精品国产二区 | 亚洲成人免费在线视频 | 最全精品自拍视频在线 | 精品国产一区二区三区2021 | 青草九九 | 欧美成人午夜不卡在线视频 | 精品一久久香蕉国产线看观 | 国产成人毛片视频不卡在线 | 性生话一级国产片 | 国产99视频精品免费视频7 | 一级一级毛片看看 | 亚洲视频在线观看地址 | 国产一区在线免费观看 | 国产午夜精品理论片免费观看 | 日韩不卡在线观看 | 国产精品久久久久999 |