首先,我在应用程序上使用了window.onbeforeunload
。它在页面上运行,但是当单击锚链接时,应将其禁用<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);
关于javascript - 如何禁用<a>标签中的window.onbeforeunload?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34039407/