事件委托应用场景
1.你如何给100个按钮添加监听事件?
答:监听这100个按钮的父级元素,等冒泡的时候判断target是不是这100个按钮的中的一个以及具体是哪一个。 优点:省监听数(内存)
2.如何监听目前不存在的元素的监听事件?
答:监听父级元素,等点击的时候判断一下是不是我想要的元素即可。
优点:可以监听父级元素。
概述
事件委托有哪些好处,才会被现在人们大量的使用呢?
那么就得先说说事件的一些性能和使用的问题:
1:绑定事件越多,浏览器内存占用越大,严重影响性能。
2:ajax的出现,局部刷新的盛行,导致每次加载完,都要重新绑定事件
3:部分浏览器移除元素时,绑定的事件并没有被及时移除,导致的内存泄漏,严重影响性能
4:大部分ajax局部刷新的,只是显示的数据,而操作却是大部分相同的,重复绑定,会导致代码的耦合性过大,严重影响后期的维护。
这些个限制,都是直接给元素事件绑定带来的问题,所以经过了一些前辈的总结试验,也就有了事件委托这个解决方案。
事件委托基础
如果我们相对一个技术点了解的更深,用的更好,那么我们就需要对这个技术点的原理有更多的了解,那么事件委托的实现原理是什么呢?
1:事件的冒泡,所以才可以在父元素来监听子元素触发的事件。
2:DOM的遍历,一个父级元素包含的子元素过多,那么当一个事件被触发时,是否触发了某一种类型的元素呢?
这是事件委托的两个基础,也是事件委托的核心,跟事件委托相关的技术点,如果碰到什么问题,都可以在这两个点进行切入,来寻求解决方案。