我想用这个:

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 票数:1 已采纳

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

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

  ask by ojek translate from so

未解决问题?本站智能推荐: