事件委托(event delegation)

时间:2022-06-24 12:45:49

事件委托给我带来的第一印象是,如果可以的话请尝试得经常使用它,性能好!
通过字符串拼接后,并进行DOM插入,不会复制事件,此时需要进行事件委托了!!!

优点

事件委托对于web应用程序的性能有如下几个优点:

1.需要管理的函数变少了

2.占用的内存少了

3.javascript代码和Dom结构之间的关联更少了

4.在改变DOM结构中的innerHTML时,不需要改动事件处理函数

使用方法:
     1.给一组元素的父级添加事件(通过冒泡机制)
          oUl.onclick=function(){};
     2.寻找事件源(促发事件的源元素)
          var oSrc=oEvent.srcElement||oEvent.target;
     3.判断事件源(一个父级下所有的自己都可以促发这个事件,如果只能特定的事件源促发委托的事件的话,需要判断tagName)
oSrc.tagName == 'INPUT'&&oSrc.value == '删除'
     4.事件源执行事件逻辑
          例如:oSrc.style.background='red';