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

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

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

瀏覽:112日期: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
相關文章:
主站蜘蛛池模板: 国产精品漂亮美女在线观看 | 日韩 欧美 国产 师生 制服 | 久久免费福利 | 精品久久精品久久 | 久久国产成人福利播放 | 久久久在线视频精品免费观看 | 亚洲欧美在线免费 | 国产精品亚洲二区 | 中文字幕免费视频 | 特黄毛片 | 天堂素人搭讪系列嫩模在线观看 | 最新国产三级在线观看不卡 | 国内精品久久久久久久久久影视 | 日本免费观看的视频在线 | 91亚洲精品一区二区在线观看 | 国内高清自拍 | 成人毛片高清视频观看 | 视频一二三区 | 美一级片 | 男人操美女网站 | 一区二区三区在线视频观看 | 97影院理论片 | 久久精品7 | 久久国产精品二国产精品 | 精品国产系列 | 欧美很黄视频在线观看 | 亚洲欧美一区二区三区不卡 | 国产精品一区二区三区久久 | 久久久久久99精品 | 亚洲成a v人片在线观看 | 成人看片在线观看免费 | 亚洲国产成人最新精品资源 | 中文字幕乱码中文乱码51精品 | 欧美一区二区三区不卡免费观看 | 成人午夜视频免费观看 | 国产欧美日韩不卡在线播放在线 | 精品400部自拍视频在线播放 | 国产女人成人精品视频 | 收集最新中文国产中文字幕 | 在线观看毛片网站 | 日韩一级片在线播放 |