我想創建一個自定義JavaScript事件。該事件正常工作並正確觸發,但我傳遞的「詳細信息」對象不可用。Javascript CustomEvent細節沒有通過
下面是我用來創建和分派事件的代碼;
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);
});
它確實火了,控制檯日誌發生,但不幸的是日誌只輸出了事件的細節,包括泡沫和取消特性,但從來沒有「細節」的對象,這樣,信息就不能訪問。
下面是一個jsbin的例子,即時通過在body的click事件上創建事件,以便您可以看到控制檯; http://jsbin.com/looseroots/6
我希望能夠在事件觸發時從「detail」對象獲取數據。我究竟做錯了什麼?我已經在Chrome中進行了測試,Safari瀏覽器在iOS
這麼簡單,但我找不到解釋CustomEvent方法的文檔指出了這一點。謝謝! – Joel
這不是一個真正的CustomEvent問題,我相信jQuery將一個DOM事件封裝到它自己的Event對象中。(我不是jQuery專家,所以我可能是錯的) – lostsource
也可以添加數據參數給jQuery處理程序,如果想保留所有jQuery領域內的代碼。 ('doubleTap',function(e,arg1,arg2)' – charlietfl