JavaScript事件委托原理( 二 )


不支持冒泡的事件
冒泡事件有很多,常见的不支持冒泡的事件如下:

  • 焦点事件:focus、blur 。
  • 鼠标事件: mouseenter、mouseleave 。
  • UI事件:load、unload、scroll、resize 。
原因是在于:这些事件仅发生于自身上,而它的任何父节点上的事件都不会产生,所以不会冒泡 。
总结
事件委托是基于事件冒泡实现的动态绑定事件的方法 。因为把事件绑定到父节点上,因此减少了绑定事件(减少内存消耗)和减少DOM读取次数 。就算后面新增的子节点也有了相关事件,删除部分子节点不用去销毁对应节点上绑定的事件 。父节点是通过event.target来找对应的子节点的 。




推荐阅读