Javascript CustomEvent详细信息未通过

我正在尝试创建自定义javascript事件。 事件正常工作并触发,但我传递的’detail’对象不可用。

这是我用来创建和发送事件的代码;

var double_tap = new CustomEvent("doubleTap", { detail: { hello: 'world' }, bubbles: true, cancelable: true }); this.dispatchEvent(double_tap); 

然后我使用jquery向主体添加一个事件监听器;

 $('body').on('doubleTap', function( e ) { console.log(e); }); 

它会触发,控制台日志会发生,但不幸的是,日志只输出事件详细信息,包括气泡和可取消属性,但从不输出’detail’对象,因此无法访问信息。

这是一个jsbin例子,我在body的click事件上创建事件,这样你就可以看到控制台; http://jsbin.com/looseroots/6

我想能够在事件被触发时从’detail’对象获取数据。 我究竟做错了什么? 我在Chrome和iOS上的Safari上测试了这个

您需要访问originalEvent属性以获取详细信息

 console.log(e.originalEvent.detail); 
 obj.addEventListener("eventName", function(e) { console.log(e.your_property) }) var event = new CustomEvent("eventName"); event.your_property = { key: "value" }; obj.dispatchEvent(event); 

您可以在调度发送时在CustomEvent中创建属性。

我找到了以下提交: https : //github.com/jquery/jquery/commit/a90ff8c8c79bfcc32afd340a12f016f20a31d8b6

这个修复程序在jQuery的compat分支中,应该从jQuery 3.0开始修复。