用于文档的onclick事件,用于阻止元素的事件

时间:2015-08-04 18:18:49

标签: javascript jquery javascript-events onclick

我有一个带有这样代码的外部JS

document.addEventListener("mousedown",docclick,1);
document.addEventListener("click",docclick,1);

我的JS包含

$("#close").click(function(e){
    e.preventDefault();
    $("#box").remove();
});

以前的代码阻止我的代码执行。如何使我的代码运行?

1 个答案:

答案 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);

希望这有帮助。