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