普通事件指的是可以用來注冊的事件;
事件綁定是指把事件注冊到具體的元素之上。
通俗點說:
普通事件:給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對一個元素的目標階段綁定多次事件,那么會按照綁定順序進行觸發