设置方法:在HTML的标签中通过事件属性进行设置,语法“on+事件名="处理函数"”;2、使用“element.onclick”进行设置;3、使用addEventListener()方法进行设置。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JS实现事件监听的几种方法
一、行内绑定
行内绑定:在HTML的标签中通过事件属性进行绑定,绑定方式:on+事件名,在将所触发的事件赋值给该属性,如下:
<button onclick="alert('123');">点击</button>
二、使用element.onclick进行事件绑定
使用element.onclick进行事件绑定:通过操作DOM元素,为DOM绑定事件(使用形式同行内绑定)。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> window.onload = function(){ var btn = document.getElementById('btn'); btn.onclick = function(){ alert("hello world"); } } </script> </head> <body> <button id="btn">点击</button> </body> </html>
三、使用addEventListener() 方法
使用 addEventListener() 方法,接受3个参数(要处理的事件名、作为事件处理程序的函数、一个布尔值,这个布尔值为 true 表示在事件捕获阶段调用事件处理程序,为 false 则在事件冒泡阶段调用)。有些浏览器不支持事件捕获(如 IE8 及更低版本),所以谨慎绑定捕获阶段的事件监听器。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> window.onload = function(){ var btn = document.getElementById('btn'); btn.addEventListener('click',function(){ alert("123"); },false); } </script> </head> <body> <button id="btn">点击</button> </body> </html>
解绑事件的方法:通过元素调用 removeEventListener() 来移除,传入的参数与添加事件处理程序时相同,第二个参数(事件处理程序函数)必须是同一个(指向地址相同),所以事件处理程序函数应该保存在一个变量中,传入的是匿名函数则无法移除该事件监听器。
注意:在IE8及以下版本中,使用attachEvent() 进行事件绑定,接受2个参数(事件处理程序名称、事件处理程序函数),通过该方法绑定的事件处理程序会在冒泡阶段被执行。该方法可以绑定多个事件处理程序,但执行顺序与绑定顺序相反。
【推荐学习:javascript高级教程】