如何运用事件委托优化web页面性能
看资料说事件委托可以减少事件监听数,提高性能。
如果这样的话是否可以将所有的点击事件都写在body里,比如
JScript code
document.body.addEventListener('click',function(e){
switch(e.target.id){
case 'id1':
//dosomething1
break;
case 'id2':
//dosomething2
break;
}
},false)
这样是否可以达到效率最优化?
------解决方案--------------------如果这样写, 你必须区分每一个需要绑定事件的元素, 代码意图肯定没有直接绑定来的明显, 而且不灵活
有没有性能上的优势还有待实际证明, 但一般代码如果没有性能上的副作用出现, 就算多消耗一点性能也没有关系。网页特效的编写, 性能不是首先需要考虑的东西
------解决方案--------------------
------解决方案--------------------其实没什么太大问题。只是各种判断id 很麻烦. 我的话会选择直接绑定到目标元素中去。