例子:给按钮添加点击事件
<button class="btn2">点我啊啊啊啊</button>
var btn2 = document.querySelector('.btn2');
btn2.addEventListener('click', function () {
alert('1111');
}, false);
btn2.removeEventListener('click', function () {
alert('1111');
}, false);
这样写的removeEventListener() 移除监听事件是不起作用的,要写成以下这种形式:
function showMsg() {
alert('1111');
}
// IE8及以下不支持
btn2.addEventListener('click', showMsg, false);
btn2.removeEventListener('click', showMsg, false);
因为removeEventListener的第二个参数要使用外部函数,如上例的showMsg,写成匿名函数function () { } 是不起作用的。
IE的attachEvent和detachEvent也不要传入匿名函数
注意:
(1)addEventListener和removeEventListener的第三个参数默认就是false,可以不写。
(2)第一个参数 click前面不要加on,是click不是onclick。其他事件也是如此