js中重复绑定事件

文章探讨了在JavaScript中,如何在单个DOM元素上绑定多个事件处理器。使用`onclick`会覆盖之前的绑定,仅执行最后一个,而`addEventListener`则允许每个事件处理器独立执行。
摘要由CSDN通过智能技术生成

在同一元素上绑定多个事件,那么这些事件要如何执行呢?我们通过代码来看看

let node = document.getElementById('content_left')
node.onclick = function(){
    console.log(1)
}
node.onclick = function(){
    console.log(2)
}
node.onclick = function(){
    console.log(3)
}

我们来点击结点元素,运行后发现,控制台之打印出了3

所以,我们得到结论: 重复绑定同一个事件处理器到同一个元素,那么每次绑定都会覆盖前一次的绑定,导致事件处理器只执行最后一次绑定的逻辑。

那么,我们是否能实现每次绑定的事件都能执行呢?答案是可以的,我们来修改代码

let node = document.getElementById('content_left')
node.addEventListener('click', function(){
    console.log(1)
})
node.addEventListener('click', function(){
    console.log(2)
})
node.addEventListener('click', function(){
    console.log(3)
})

再次点击结点元素,发现分别打印出了1,2,3

所以,我们有了结论: 如果你想要绑定多个事件处理器到同一个事件上,你需要使用事件监听器addEventListener,这样每个事件处理器都会被调用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值