js中事件委托(事件代理)(传统的,vue , e.target.dataset.index)

事件委托是基于事件冒泡原理,通过给父级元素绑定事件,处理子元素的事件。这种方式减少了事件处理函数的数量,允许动态添加或修改元素而无需重新绑定事件。在JavaScript中,可以使用addEventListener和removeEventListener进行事件监听。在Vue中,可以在父组件上绑定事件,并通过e.target检查点击的元素来实现事件委托。例如,通过e.target.localName判断点击的标签名,以决定是否执行绑定的事件。
摘要由CSDN通过智能技术生成

事件委托的原理

事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托它们父级代为执行事件。

事件委托的优点

  • 管理的函数变少了。不需要为每个元素都添加监听函数。对于同一个父节点下面类似的子元素,可以通过委托给父元素的监听函数来处理事件。

  • 可以方便地动态添加和修改元素,不需要因为元素的改动而修改事件绑定。

  • 3.JavaScript和DOM节点之间的关联变少了,这样也就减少了因循环引用而带来的内存泄漏发生的概率。

  1. 嵌入dom
<button onclick="open()">按钮</button>

<script>
function open(){
   
	alert(1)
}
</script>
  1. 直接绑定
<button id="btn">按钮</button>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值