addEventListener()與removeEventListener()用於處理指定和刪除事件處理程序操作。全部的DOM節點中都包括這兩種方法,而且它們都接受3個參數:要處理的事件名、作為事件處理程序的函數和一個布爾值。最有這個布爾值參數是true。表示在捕獲階段調用事件處理程序;假設是false。表示在冒泡階段調用事件處理程序。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>搖一搖</title> </head> <script> document.addEventListener("mousedown", mouse, false);//點擊鼠標時觸發事件 document.addEventListener("keydown", key, false);//按下鍵盤按鍵時觸發事件 function mouse(){ alert('ddd'); } function key(){ document.removeEventListener("mousedown", mouse, false); alert('xxx'); } </script> <body> </body> </html>
因為IE僅僅支持事件冒泡。所以同大多數情況下,都是將事件處理程序加入到事件流的冒泡階段,這樣能夠最大限度地兼容各種瀏覽器。
最好僅僅在須要在是事件到達目標之前截獲它的時候將事件處理程序加入到捕獲階段。假設不是特別須要。不建議在事件捕獲階段注冊事件處理程序。