如何显示“您确定要离开页面?”当用户实际尝试关闭页面时(单击浏览器窗口或选项卡上的 X 按钮),而不是当他试图离开页面时(单击另一个链接)。
我的客户希望在用户尝试关闭页面时显示一条消息“您确定要离开该页面吗?您的购物车中还有商品。”
不幸的是,$(window).bind('beforeunload')
不会仅在用户关闭页面时触发。
jQuery:
function checkCart() {
$.ajax({
url : 'index.php?route=module/cart/check',
type : 'POST',
dataType : 'json',
success : function (result) {
if (result) {
$(window).bind('beforeunload', function(){
return 'leave?';
});
}
}
})
}
最佳答案
您可以使用 JQuery 来做到这一点。
例如 ,
<a href="your URL" id="navigate"> click here </a>
你的 JQuery
将是,
$(document).ready(function(){
$('a').on('mousedown', stopNavigate);
$('a').on('mouseleave', function () {
$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});
});
});
function stopNavigate(){
$(window).off('beforeunload');
}
要获得留言提醒,
$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});
$(window).on('unload', function(){
logout();
});
此解决方案适用于所有浏览器,我已经对其进行了测试。
关于javascript - jquery beforeunload 关闭(不离开)页面时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18783535/