gpt4 book ai didi

jquery - 触发自定义 jQuery 事件而不冒泡

转载 作者:行者123 更新时间:2023-12-03 22:21:12 25 4
gpt4 key购买 nike

我想在对象上触发不可冒泡的自定义 jQuery 事件。我知道我们可以使用 return false 或 stopPropagation 来防止冒泡。我想知道的是我是否可以触发自定义事件并指定默认情况下不冒泡。

这是我现在的代码

        $(".abc").on("change", function () {
var e = new $.Event("datachange");
$(this).trigger(e)
});

上面的代码触发了 #abc 上的 datachange 事件,并使该事件一直向上冒泡。我不想那样。我可以通过使用以下内容来实现这一目标。

        $(".abc").on("change", function () {
var e = new $.Event("datachange");
//e.stopPropagation(); this does not work
$(this).trigger(e)
}).on("datachange", function (e) {
e.stopPropagation();
return false;
});

我读到triggerHandler 做了类似的事情,但仅针对第一个匹配元素。

是否有更好的方法来实现这一目标?

最佳答案

你说得对triggerHandler()仅适用于集合中的第一个元素,但这应该不是问题,因为使用 $(this) 构建的集合仅包含一个元素。

因此,您可以安全地编写:

$(".abc").on("change", function() {
$(this).triggerHandler("datachange");
});

这样,datachange 事件就不会在文档树中冒泡。

关于jquery - 触发自定义 jQuery 事件而不冒泡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896904/

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