參考了各種文章,并做了一些嘗試和錯誤測試,最后,我提出了這個想法,這是非常適合我的。
這樣做的目的是檢測關閉瀏覽器所觸發的卸載事件。在這種情況下,鼠標將從窗口移出,指向“關閉”按鈕(“X”)。.
$(window).on('mouseover', (function () {
window.onbeforeunload = null;}));$(window).on('mouseout', (function () {
window.onbeforeunload = ConfirmLeave;}));function ConfirmLeave() {
return "";}var prevKey="";$(document).keydown(function (e) {
if (e.key=="F5") {
window.onbeforeunload = ConfirmLeave;
}
else if (e.key.toUpperCase() == "W" && prevKey == "CONTROL") {
window.onbeforeunload = ConfirmLeave;
}
else if (e.key.toUpperCase() == "R" && prevKey == "CONTROL") {
window.onbeforeunload = ConfirmLeave;
}
else if (e.key.toUpperCase() == "F4" && (prevKey == "ALT" || prevKey == "CONTROL")) {
window.onbeforeunload = ConfirmLeave;
}
prevKey = e.key.toUpperCase();});如果需要對消息進行自定義,則ConFirmLeave函數將給出彈出的默認消息,然后返回要顯示的文本,而不是在函數ConFirmLeave().