我有一个带有这样代码的外部JS
document.addEventListener("mousedown",docclick,1);
document.addEventListener("click",docclick,1);
我的JS包含
$("#close").click(function(e){
e.preventDefault();
$("#box").remove();
});
以前的代码阻止我的代码执行。如何使我的代码运行?
答案 0 :(得分:1)
因为外部JS附加到document
并且配置了使用捕获(在方法调用中由1指示),所以很可能在click事件到达事件侦听器之前捕获它。你需要删除他们的监听器并重新连接它,而不是像这样使用捕获:
//Remove the offending event listener
document.removeEventListener("click",docclick,1);
//Add your listener
$('#close').click(function(e){
e.preventDefault();
$("#box").remove();
});
//Reattach the offending event listener, without capture
document.addEventListener("click",docclick);
希望这有帮助。