我有这个:
window.onbeforeunload = function(e) {
return 'You are leaving now.';
};
<a>
链接上的例外jquery。
$('a').click(function () { window.onbeforeunload = null; });
如何在纯javascript中执行jquery异常?
请指教。谢谢。
答案 0 :(得分:1)
您可以使用getElementsByTagName
或querySelectorAll
获取a
元素的列表,并使用该函数将click
事件挂钩到它们上你的事件处理程序。
假设IE9 +:
function unhookBeforeUnload() {
window.onbeforeunload = null;
}
Array.prototype.forEach.call(document.querySelectorAll('a'), function(anchor) {
anchor.addEventListener("click", unhookBeforeUnload);
});
如果你必须支持IE8(但不是更早),你必须为forEach
添加一个垫片或使用一个简单的循环,你必须处理它没有{{1 }}。通常情况下,我不会根据具体情况处理后者,我有一个功能来连接处理它的事件处理程序。 (例如,就像jQuery一样。)但仅仅是为了完整性:
addEventListener
这适用于您可能会找到的任何浏览器,甚至是IE6。