Html5 - window.onbeforeunload捕获_only_ refresh,后退/前进

时间:2013-04-16 00:56:13

标签: javascript html html5

我想用这个:

window.onbeforeunload = function () {
    return "u sure?";
}

仅限刷新,前进/后退事件。目前这段代码捕捉到了一切。我不希望它捕获链接点击或形成帖子事件。另外,我需要在该函数中包含所有代码,所以我在想,也许有类似的东西(伪代码):

window.onbeforeunload = function () {
    if(it was not a click && it was not a form post)
       return "u sure?";
}

所以,再说一遍:是否有可能导致导致.onbeforeunload触发的事件?

1 个答案:

答案 0 :(得分:1)

我能想到的最简单的解决方案是在表单提交或链接点击上取消绑定onbeforeunload事件。

Array.prototype.forEach.call(document.querySelectorAll('form'), function (elem) {
    elem.addEventListener('submit', function () {
        window.onbeforeunload = function () {}
    });
});