Javascript会立即中断链接单击时的正常行为



我想在页面卸载之前做点什么,所以我试图暂时中断正常行为。我试过了,但似乎不起作用:

document.onclick = function (e) {
e = e || window.event;
var element = e.target || e.srcElement;
if (element.tagName == `a`) {
document.body.classList.remove(`ready`);
document.body.classList.add(`leaving`);
setTimeout(function () {
return true; // return false = prevent default action and stop event propagation
}, 500);
}
}

0.5s是我离开页面之前需要显示一个短css动画的时间。

您可以尝试以下代码:

document.onclick = function (e) {
e = e || window.event;
var element = e.target || e.srcElement;
if (element.tagName == `A`) {     // !uppercased
e.preventDefault();             // prevent default anchor behavior
var goTo = element.href;        // store target url
document.body.classList.remove(`ready`);
document.body.classList.add(`leaving`);
setTimeout(function () {
window.location = goTo;        // navigate to destination
}, 500);
}
}

最新更新