在我的(JavaScript,jQuery)代码中,我使用两种触发事件的方法。
jQuery('body').trigger('crazy-trigger-event');
jQuery("body").get(0).dispatchEvent(new CustomEvent("crazy-dispatch-event"));
在这个代码片段中:
http://jsfiddle.net/jts9jhbt/3/
我使用了jQuery的.on()方法 和 DOM的.addEventListener()方法来注册自定义事件。
然后我使用jQuery的.trigger()方法和DOM的.dispatchEvent()方法来触发事件。
似乎使用.on()方法注册的监听器两种方式都能接收到。
但是使用.addEventListener()方法注册的监听器只能接收到使用.dispatchEvent()方法触发的事件。
我的用例是我有一些旧代码和jQuery代码混合,看起来最安全的方法是使用.dispatchEvent()以使其与两者兼容。
那么,是否有一些更改可以使使用.addEventListener()方法注册的监听器能够接收.trigger()方法触发的事件呢?