gpt4 book ai didi

javascript - 为什么 document.off 禁用点击以 document.on 开始的按钮而不是 id.click 在 Jquery 中?

转载 作者:行者123 更新时间:2023-11-30 11:27:07 25 4
gpt4 key购买 nike

为什么 document.off 关闭使用 document.on 而不是 $(id).click 调用的按钮的 click ?

以下是第二个按钮不起作用的代码:

<button type="button" id="rara">1</button>    
<button type="button" id="baba">2</button>
<button type="button" id="hadimba">3</button>


$("#hadimba").click(function(e) {
alert('3')
});

$(document).on('click', '#baba', function(e) {
alert('2')
});

$(document).off('click').on('click', '#rara', function(e) {
alert('1')
});

JsFIddle

谁能解释一下这个现象?为什么特定的#id.click 在整个文档的事件处理程序关闭时命中?

最佳答案

答案很简单。

$(document)$('#hadimba') 是不同的对象,并且都有自己的事件处理程序。从一个中删除事件处理程序不会从另一个中删除它,因为它们是两个不同的对象。

另一种看待它的方式是,当您在 $(document) 上附加一个点击监听器时,您是在告诉 $(document) 当它收到时要做什么点击事件。同样,当您向 $('#hadimba') 添加监听器时,您是在告诉 $('#hadimba') 在收到点击事件时执行某些操作。

因此,当您从 $(document) 中删除该监听器时,它在收到点击事件时不会执行任何操作。但是,这不会阻止 $('#hadimba') 在收到点击事件时执行某些操作。

关于javascript - 为什么 document.off 禁用点击以 document.on 开始的按钮而不是 id.click 在 Jquery 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47586460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com