如何在遗留js中监听jQuery触发器

How to listen to a jQuery trigger in legacy js

本文关键字:监听 jQuery 触发器 js      更新时间:2023-09-26

我正在用jquery触发一个事件,我需要在非jquery脚本中绑定到它。

我似乎可以用on绑定到jQuery中的事件,但不能用addEventListener绑定。

这里有一个jsFiddle显示:http://jsfiddle.net/x6rhT/

如何使用addEventListener侦听jQuery事件?

使用dispatchEvent:

window.dispatchEvent(new CustomEvent('test'));

你可以很容易地创建一个包装:

$.fn.nativeTrigger = function(type) {
    return this.each(function() {
        this.dispatchEvent( new CustomEvent(type) );
    });
}
$('body').trigger('test').nativeTrigger('test');

另一种方法是扩展$.fn.trigger,但这是相当深的水。