通过addEventListener()添加的事件处理程序只能使用removeEventListener()来移除;
移除时传入的参数与添加处理程序时使用的参数相同。
这里要注意的是:通过addEventListener()添加的匿名函数无法移除,也就是removeEventListener()在移除addEvenListener添加的事件的时候,不能移除匿名函数,必须是function move() {} 函数
下面这段代码是正确的:
document.addEventListener('mousemove', move);
function move(e) {
// console.log(x, y);
//用 e.pageX - x 就是盒子应该得到的距离
table.style.left = e.pageX - x + 'px';
table.style.top = e.pageY - y + 'px';
console.log(1);
}
document.addEventListener('mouseup', function() {
// console.log(1);
document.removeEventListener('mousemove', move);
})
而下面这段代码时错误的:
document.addEventListener('mouseup', function() {
// console.log(1);
document.removeEventListener('mousemove', function(e) {
table.style.left = e.pageX - x + 'px';
table.style.top = e.pageY - y + 'px';
});
})