在触发之前检测事件的存在-JavaScript
我试图在元素后面触发事件。它工作得很好,但有一个问题:如果事件未绑定到目标元素,它会抛出一个错误 我有一个元素覆盖了整个页面。当在触发之前检测事件的存在-JavaScript,javascript,events,javascript-events,Javascript,Events,Javascript Events,我试图在元素后面触发事件。它工作得很好,但有一个问题:如果事件未绑定到目标元素,它会抛出一个错误 我有一个元素覆盖了整个页面。当event发生时,元素消失,javascript在其后面的元素上模拟event。相关代码: e.target.parentNode.removeChild(e.target); var ghost = document.elementFromPoint(e.pageX, e.pageY); ghost.dispatchEvent(e.type); 它工作得很好,除
event
发生时,元素消失,javascript在其后面的元素上模拟event
。相关代码:
e.target.parentNode.removeChild(e.target);
var ghost = document.elementFromPoint(e.pageX, e.pageY);
ghost.dispatchEvent(e.type);
它工作得很好,除了如果ghost
没有特定的事件绑定,它会抛出一个丑陋的UNSPECIFIED\u event\u TYPE\u ERR:DOM Events异常0
是否有办法在ghost上检测事件是否绑定?请不要使用库。接受事件对象,而不是字符串
看
还测试了如果span上没有事件侦听器,它不会抛出。它实际上根本不应该工作,
。dispatchEvent
不需要string@Esailija好吧,那我怎么才能正确地触发那个事件呢?
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");
});