jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了触发自定义jQuery事件而不冒泡大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在对象上触发一个不可冒泡的自定义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事件而不冒泡所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。