小编use*_*014的帖子

我可以使用jQuery .trigger()和addEventListener()添加的事件侦听器吗?

在我的(javascript,jQuery)代码中,我使用了两种触发事件的方法

jQuery('body').trigger('crazy-trigger-event');
jQuery("body").get(0).dispatchEvent(new CustomEvent("crazy-dispatch-event"));
Run Code Online (Sandbox Code Playgroud)

在这里的片段:

http://jsfiddle.net/jts9jhbt/3/

我已经使用jQuery .on()和DOM .addEventListener()方法注册了自定义事件.

然后我使用jQuery .trigger()和DOM .dispatchEvent()方法触发事件.

似乎使用.on()注册的侦听器接收两种方式触发的事件.

但是,使用.addEventListener()注册的侦听器只接收使用.dispatchEvent()触发的事件.

我的用例是我混合使用遗留代码和jQuery代码,使用.dispatchEvent()似乎最安全,因此它与两者兼容.

那么我可以对代码进行一些更改,以便使用.addEventListener()注册的侦听器可以从.trigger()接收事件吗?

javascript jquery events

7
推荐指数
1
解决办法
1081
查看次数

标签 统计

events ×1

javascript ×1

jquery ×1