-1

我有一个自定义弹出框,如灯箱或模式框,我想显示它并防止页面在用户尝试离开或退出页面时卸载或退出,所以这是我的代码和我到目前为止的尝试:

$(window).bind('beforeunload', function(){
  return loadPopup();
});

从上面的代码可以看出,当用户试图退出或离开页面时,它应该执行一个函数:

loadPopup();

但它不起作用,loadPopup();没有解雇。我上面的代码应该是什么问题,为什么它不执行该loadPopup();功能?

4

2 回答 2

1

VeeKayBee 解决方案是正确的。

无论如何,您也可以使用 JQuery 执行此操作:

$(window).bind('beforeunload', function(){
             fireOnLeave();
             return '';
});
function fireOnLeave(){
    console.log('Fired');  
}

您可以检查控制台日志并查看“已触发”字符串,该字符串确认该函数已被触发。但是您必须将字符串返回给“beforeunload”事件。

并且 jquery .unload 也可以做到这一点,但自 JQuery 1.8 http://api.jquery.com/unload/以来它已被弃用

于 2013-07-23T18:47:17.503 回答
0

检查这个http://jsfiddle.net/Cnsyd/

我不确定您使用 jQuery 做某事,但显然您可以使用 javaScript 做某事。

 function closeIt()
  {
    return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
  }
  window.onbeforeunload = closeIt;

JavaScript onbeforeunload事件。它由 Microsoft 推出,但适用于大多数浏览器,请单击此处了解更多详细信息。

相信这是你最终需要的东西。

于 2013-07-23T18:09:31.937 回答