我正在使用以下js在浏览器/窗口关闭之前显示一个弹出窗口。但它似乎没有奏效。
$(window).bind('beforeunload', function(e) {
$('#beforeclose').click();
});
我试图展示的弹出窗口是prettyPopin。并且#beforeclose
是锚点的id,我试图在窗口卸载之前绑定click事件。我注意到本机js弹出窗口工作但jQuery弹出窗口不起作用。
有没有办法实现我想要的?请向我解释或向我推荐相应的链接,因为我不是js的专家。
提前致谢。
答案 0 :(得分:3)
你无法安全地做到这一点。
onbeforeunload
旨在避免完全阻止用户离开您的网页。您应该做的唯一事情是返回一个字符串,其中包含用户可能不想离开页面的消息。此消息将显示给用户unless he's using firefox。
答案 1 :(得分:1)
试试这个:
<script type="text/javascript">
$(function() {
function confirmmsg() {
return "Mail Not sent";
}
window.onbeforeunload = confirmmsg;
});
</script>
答案 2 :(得分:0)
尝试将其更改为
$(window).bind('beforeunload', function(e) {
$('#beforeclose').click();
e.preventDefault();
return false; // just in case..
});
event.preventDefault()
说明:如果调用此方法,则为该事件的默认操作 不会被触发。
基本上,您绑定了显示beforeunload
事件弹出窗口的函数,但这不会像警报窗口那样阻止浏览器。使用event.preventDefault()
,您将停止执行事件流程。