关于传统事件模型和标准事件模型的几点思考

1,传统事件模型

例:onclick

可以被覆盖:

document.body.onclick = function(){console.log('num1');}
document.body.onclick = function(){console.log('num2');}

结果:num2

销毁方式:

document.body.onlick = null

其实没有注册onclick的时候,document.body.onclick的值就是null

2, 标准事件模型

例:addEventListener

不可以被覆盖:

document.body.addEventListener('click',function(){console.log('num1');});
document.body.addEventListener('click',function(){console.log('num2');});
document.body.addEventListener('click',function(){console.log('num3');});

结果: num1 num2 num3

销毁方式:

var f = function(){console.log(1);}
document.body.addEventListener('click',f);
document.body.removeEventListener('click',f);

必须注意的是:销毁时,f一定要一一对应。

当记忆全部忘光,留下来的才是你自己的。
原文地址:https://www.cnblogs.com/kai08/p/3025841.html