JS绑定事件和移除事件的处理方法
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只支持事件冒泡,所以同大多数情况下,都是将事件处理程序添加到事件流的冒泡阶段,这样可以最大限度地兼容各种浏览器。最好只在需要在是事件到达目标之前截获它的时候将事件处理程序添加到捕获阶段。如果不是特别需要,不建议在事件捕获阶段注册事件处理程序。