事件有幾個階段?事件繫結方式有哪些?以及區別是什麼?
阿新 • • 發佈:2019-02-11
事件有三個階段:
1.事件捕獲階段-----由外向裡
2.事件目標階段-----最開始選中的那個,但是不一定是最先出現的,根據是那個階段而定
3.事件冒泡階段-----有裡向外
事件繫結方式有哪些?
DOM和jQuery當中都有
DOM中:
1.物件.on事件名字=事件處理函式----------如果是多個相同事件註冊用這種方式,最後一個執行,之前的會被覆蓋掉;
參考程式碼:my$("ID名字").onclick=function( ){ };
2.物件.addEventListener("沒有on的事件名字",事件處理函式,false);
參考程式碼:my$("ID名字").addEventListener("click",function( ){ },false);
3.物件.attachEvent("有on的事件的名字",事件處理函式);
參考程式碼:my$("ID名字").attachEvent("onclick",function( ){ });
總結繫結事件的區別:
addEventListener();
attachEvent();
相同點:都可以為元素繫結事件
不同點:
* 1.方法名不一樣
* 2.引數個數不一樣addEventListener三個引數,attachEvent兩個引數
* 3.addEventListener 谷歌、火狐都支援,IE8不支援 , attachEvent 谷歌火狐都不支援,IE8支援
* 4.this不同,addEventListener 中的this是當前繫結事件的物件 , attachEvent中的this指的是window
* 5.addEventListener中的事件的型別(事件的名字)沒有on ,attachEvent 中的事件的型別(事件的名字)有on