禁用onbeforeunload链接

dzm*_*dzm 2 javascript jquery

如何禁用onbeforeunload链接?

var show = true;

function showWindow(){
    if(show){      
        alert('Hi');
        return "Hi Again";
    }
}


$('a').click(function(){

    show = false;

});


window.onbeforeunload = showWindow;
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的,但是当我点击'a'元素时它仍会显示

按钮代码:

<button type="submit" class="submitBtn"><span>Open Account</span></button>
Run Code Online (Sandbox Code Playgroud)

Jus*_*ago 11

代替

show = false;
Run Code Online (Sandbox Code Playgroud)

尝试

window.onbeforeunload = null;
Run Code Online (Sandbox Code Playgroud)

这将简单地解除事件中的函数绑定.


Gin*_*hen 8

我刚遇到同样的问题,发现了一个非常简单的解决方案:

$("a").mousedown(function() {
    $(window).unbind();
});
Run Code Online (Sandbox Code Playgroud)

这将在触发click事件之前删除onbeforeunload事件.

  • 因为`mousedown`在`beforeunload`之前运行,而'click`在它之后运行.我仍然建议使用JustcallmeDrago解决方案,同时用`mousedown'替换链接`click`事件 (2认同)

qas*_*zee 5

使用以下代码解除事件绑定:

javascript:window.onbeforeunload=function(){null}
Run Code Online (Sandbox Code Playgroud)