在浏览器窗口关闭之前显示jQuery弹出窗口

我在浏览器/窗口关闭之前使用以下js来显示弹出窗口。 但它似乎没有起作用。

$(window).bind('beforeunload', function(e) { $('#beforeclose').click(); }); 

我试图展示的弹出窗口是prettyPopin 。 并且#beforeclose是我试图在窗口卸载之前绑定click事件的锚的id。 我注意到本机js弹出窗口工作,但jQuery弹出窗口不起作用。

有没有办法实现我想要的? 请向我解释或转介给我各自的链接,因为我不是js的专家。

提前致谢。

你无法安全地做到这一点。

onbeforeunload的设计方式可以避免用户完全阻止用户离开您的页面。 您应该做的唯一事情是返回一个字符串,其中包含用户可能不想离开页面的消息。 除非他正在使用Firefox,否则会向用户显示此消息。

试试这个:

  

尝试将其更改为

 $(window).bind('beforeunload', function(e) { $('#beforeclose').click(); e.preventDefault(); return false; // just in case.. }); 

来自jQuery文档 :

event.preventDefault()

描述 :如果调用此方法,则不会触发事件的默认操作。

基本上,您绑定了在beforeunload事件上显示弹出窗口的函数,但这不会像警报窗口那样阻止浏览器。 使用event.preventDefault()您将停止执行事件流。