停止点击事件触发

时间:2021-04-29 05:40:18

标签: javascript jquery dom-events addeventlistener

我有 2 个独立的事件监听器,第一个是点击事件,第二个是一个 window beforeunload 监听器: 这是点击事件监听器:

document.body.addEventListener('click',function(event){  
if (event.defaultPrevented) return;
console.log('click EL');
})

这是 beforeunload 侦听器:

window.addEventListener("beforeunload", function (e) {
    e.preventDefault();
    console.log('beforeunload EL');
})

如果 beforeunload 被触发,我可以停止触发点击事件吗?我试过用 event.preventDefault(); 做这件事,但还是不行。

1 个答案:

答案 0 :(得分:1)

试试这个,这是工作代码:

var beforeunload = function (e) {
    e.preventDefault();
    console.log('beforeunload EL');
}

window.addEventListener("beforeunload", beforeunload);

document.body.addEventListener('click',function(event){
    if (event.defaultPrevented) return;
    console.log('click EL');
    window.removeEventListener("beforeunload", beforeunload);
});

如果您的点击发生,只需移除监听器