1. 程式人生 > >事件有幾個階段?事件繫結方式有哪些?以及區別是什麼?

事件有幾個階段?事件繫結方式有哪些?以及區別是什麼?

事件有三個階段:

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