亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2020年03月02日 09:54:40   作者:葉落森  
這篇文章主要介紹了js中addEventListener()與removeEventListener()用法,結合實例形式分析了js中addEventListener()與removeEventListener()基本功能、用法與操作注意事項,需要的朋友可以參考下

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

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

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

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

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

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

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

捕獲 中,外部元素的事件會先被觸發(fā),然后才會觸發(fā)內部元素的事件,即: <div> 元素的點擊事件先觸發(fā) ,然后再觸發(fā) <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()來移除;移除時傳入的參數(shù)與添加處理程序時使用的參數(shù)相同。通過addEventListener()添加的匿名函數(shù)無法移除,如下面的例子所示:

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 事件句柄,鼠標在桔紅色的框內移動時會顯示隨機數(shù)。
 <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數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript錯誤與調試技巧總結

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

相關文章

  • 詳解JavaScript中哪一種循環(huán)最快呢

    詳解JavaScript中哪一種循環(huán)最快呢

    這篇文章主要介紹了詳解JavaScript中哪一種循環(huán)最快呢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • AJAX XMLHttpRequest對象創(chuàng)建使用詳解

    AJAX XMLHttpRequest對象創(chuàng)建使用詳解

    這篇文章主要介紹了AJAX XMLHttpRequest對象創(chuàng)建使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 數(shù)組Array的排序sort方法

    數(shù)組Array的排序sort方法

    下面小編就為大家?guī)硪黄獢?shù)組Array的排序sort方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • uniapp H5 https跨域請求實現(xiàn)

    uniapp H5 https跨域請求實現(xiàn)

    這篇文章主要介紹了uniapp H5 https跨域請求實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 在html頁面上拖放移動標簽

    在html頁面上拖放移動標簽

    在html頁面上拖放移動標簽,需要的朋友可以參考下。
    2010-01-01
  • 基于JavaScript實現(xiàn)鼠標向下滑動加載div的代碼

    基于JavaScript實現(xiàn)鼠標向下滑動加載div的代碼

    這篇文章主要介紹了基于JavaScript實現(xiàn)鼠標向下滑動加載div的代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • JS拉起或下載app的實現(xiàn)代碼

    JS拉起或下載app的實現(xiàn)代碼

    最近做項目遇到這樣的需求,通過手機網頁判斷是否安裝了自己公司app,如果安裝了則拉起app,沒有安裝則跳轉到下載頁。怎么實現(xiàn)呢?下面小編給大家分享js拉起或下載app的實現(xiàn)代碼,需要的朋友參考下
    2017-02-02
  • JavaScript將數(shù)組轉換為鏈表的方法

    JavaScript將數(shù)組轉換為鏈表的方法

    這篇文章主要介紹了JavaScript將數(shù)組轉換為鏈表的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析

    JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析

    這篇文章主要介紹了JavaScript正則表達式校驗與遞歸函數(shù)實際應用,需要的朋友可以參考下
    2017-08-08
  • D3.js實現(xiàn)簡潔實用的動態(tài)儀表盤的示例

    D3.js實現(xiàn)簡潔實用的動態(tài)儀表盤的示例

    本篇文章主要介紹了D3.js實現(xiàn)簡潔實用的動態(tài)儀表盤的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04

最新評論