javascript - 在触发JavaScript之前检测事件的存在

  显示原文与译文双语对照的内容
0 0

我在试图把 behind的事件。 它工作得很好,只有一个窍门: 如果事件未绑定到目标元素,则抛出错误。

我有一个覆盖整个网页的元素。 当 event 发生时,元素消失,javascript模拟元素 behind 上的event 。 相关代码:


e.target.parentNode.removeChild(e.target); 
var ghost = document.elementFromPoint(e.pageX, e.pageY);
ghost.dispatchEvent(e.type);

除了 ghost 没有那个特定的事件绑定,它会引发一个恶意的问题 UNSPECIFIED_EVENT_TYPE_ERR: DOM Events Exception 0

是否有一种方法可以在事件被绑定的情况下检测到 ghost? 没有图书馆,请。

时间: 原作者:

0 0

.dispatchEvent 接受一个事件对象,而不是字符串。

请参见 http://jsfiddle.net/xEmcy/1/


document.querySelector("div").addEventListener("click", function(e) {
 var evt = document.createEvent('Event');
 evt.initEvent(e.type, true, true);
 document.querySelector("span").dispatchEvent(evt);
}, false);


document.querySelector("span").addEventListener("click", function(e){
 alert("via trigger"); 
});​

还测试了如果 span 上没有事件侦听器,它不会抛出。

原作者:
...