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

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一定要一一对应。

posted on 2013-04-17 11:32  kai08  阅读(181)  评论(0编辑  收藏  举报

导航