事件代理(委托)是什么?

116 阅读1分钟

事件代理(委托)是什么?

利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

  • js中事件冒泡我们知道,子元素身上的事件会冒泡到父元素身上。
  • 事件代理就是,本来加在子元素身上的事件,加在了其父级身上。
  • 那就产生了问题:父级那么多子元素,怎么区分事件本应该是哪个子元素的?
  • 答案是:event对象里记录的有“事件源”,它就是发生事件的子元素。
  • 它存在兼容性问题,在老的IE下,事件源是 window.event.srcElement,其他浏览器是 event.target
用事件委托有什么好处呢?
  • 第一个好处是效率高,比如,不用for循环为子元素添加事件了
  • 第二个好处是,js新生成的子元素也不用新为其添加事件了,程序逻辑上比较方便

推荐:JS事件绑定 事件冒泡与捕获 事件代理