關於js中對事件綁定與普通事件的理解


 

  普通事件指的是可以用來注冊的事件;

  事件綁定是指把事件注冊到具體的元素之上。

 

通俗點說:

  普通事件:給html元素添加一個特定的屬性(如:onclick);

  事件綁定:js代碼中通過標記(id  tag class)獲取元素,給元素添加特定的方法(如:onclick);

 

擴展:事件監聽addEventListener事件可以綁定多次事件,並進行觸發

div1.onclick = function(){};

<button onmouseover = " "></button>

 


  1、如果說給同一個元素綁定了兩次或者多次相同類型的事件,那么后面的綁定會覆蓋前面的綁定
  2、不支持DOM事件流 事件捕獲階段目標元素階段=>事件冒泡階段

addEventListener
  ⦁ 如果說給同一個元素綁定了兩次或者多次相同類型的事件,所以的綁定將會依次觸發
  ⦁ 支持DOM事件流的
  ⦁ 進行事件綁定傳參不需要on (在我們前端)

 

addEventListener(“click”,function(){},true);   //此時的事件就是在事件冒泡階段執行

 

兼容性處理

ie9開始   到ie11 edge:addEventListener

ie9以前:attachEvent/detachEvent

  ⦁ 進行事件類型傳參需要帶上on前綴
  ⦁ 這種方式只支持事件冒泡,不支持事件捕獲

 

比較attachEvent 和 addEventListener:

  • attachEvent只支持事件冒泡  addEventListener既支持事件冒泡,也支持事件捕獲
  • 參數: attachEvent事件類型需要on前綴, addEventListener事件類型不需要on前綴
  • 如果使用attachEvent對一個元素的目標階段綁定了多次事件,那么會按照綁定順序的相反順序進行觸發;如果使用addEventListener對一個元素的目標階段綁定多次事件,那么會按照綁定順序進行觸發

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM