个人理解 说一下 事件委托及优缺点
事件委托就类似于冒泡的原理 就是把事件给父元素 或者祖元素 触发执行效果
优点:
1:提高js的性能
比如我们一个ul里面有多个li,点击每一个li可以弹出一个对话框,我们传统的方式都是给每一个li绑定点击事件,但是如果利用事件委托的话就只在父元素ul上面绑定一个事件就好
这样可以大大的减少性能。
2:动态新增的元素无需重新绑定事件
事件委托的原理:
就是利用了冒泡机制:
冒泡机制:
说起冒泡,我们可以想一下水平面上的涟漪,一块石头垂直落入水中,会从石头落入水的地方一圈一圈的扩大。而我们的冒泡的形式就和这个涟漪一摸一样。我们现在一共有三个盒子,div1(外1),div2(外2),span(内部)每一个盒子上都有一个事件,当我们点击span的时候,它先是会执行span的事件,然后执行div2的事件,在执行div1的事件,这样是不是很想我们的涟漪。当然了,我们有时候不需要这样点击一个盒子,把包着这个盒子的所有事件都执行了,这样肯定不行,那么就有了阻止事件冒泡的东西,正所谓的一物降一物。有两种方法来取消冒泡,一个event.stopPropagation()这样的方法,给它放入对应事件的内部,就可以阻止它向外扩张。还有一个方法就是在每一个方法内部进行判断,去判断当前点击的元素而进行阻止冒泡。
捕获:
捕获和我们说的冒泡恰恰相反,他是由外到内的,就是涟漪不在向外扩散,开始向石头降落的地方搜索,就像电影倒放一样。
事件委托的性能和涉及到别的知识
最新推荐文章于 2024-07-24 11:09:48 发布