gpt4 book ai didi

javascript - 如何从 标记禁用 window.onbeforeunload ?

转载 作者:行者123 更新时间:2023-11-28 10:50:32 24 4
gpt4 key购买 nike

首先我使用window.onbeforeunload在我的申请上。它正在整个页面上工作,但是当单击 anchor 链接时,它应该被禁用 <a href="abc.com">Click</a> 。有任何想法吗?请分享。我的代码如下,它不起作用:

var submitFormOkay = false;
window.onbeforeunload = function () {
if (!submitFormOkay) {
return "Don't delay your Success. Get FREE career counselling session. Fill in the details below";
} else {
submitFormOkay = '';
}
}

<a class="navbar-brand" href="http://www.google.com">Click</a>

最佳答案

您可以在 document.body 上附加一个全局点击处理程序,如果点击通过 a 元素,则将 submitFormOkay 设置为 true (或者您可以使用另一个变量来绕过检查,或者通过将 null 分配给 window.onbeforeunload 来清除处理程序),例如:

$(document.body).on("click", "a", function() {
submitFormOkay = true; // Or set another flag you'll check,
// or clear onbeforeunload entirely
});
<小时/>

没有 jQuery(因为我最初错过了 jquery 标签):

document.body.addEventListener("click", function(e) {
var element;
for (element = e.target; element != document.body; element = element.parentNode) {
if (element.tagName.toUpperCase() === "A") {
submitFormOkay = true; // Or set another flag you'll check,
// or clear onbeforeunload entirely
break;
}
}
}, false);

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com