如何在浏览器选项卡上关闭单击事件打开Jquery对话框

时间:2014-06-12 06:17:10

标签: jquery browser tabs

我有一个特殊的要求,一旦访问者点击取消浏览器选项卡,我就需要打开一个jquery对话框。实际上这个对话框将包含一些调查问题。如果访客希望参加调查,那么一旦他点击对话框关闭按钮,网站的浏览器标签就会自动关闭。

我是jquery的新手,我试图从网上获得一些帮助,但没有运气..

如果我在这里得到建议,我将得救。 提前谢谢..

这是我在答案后尝试的代码,但没有得到任何提醒Box ..

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <script src="js/jquery-1.7.1.js" type="text/javascript"></script>

     <script type="text/javascript">
        $( window ).unload(function() {
            alert( "Bye now!" );
        });
    </script>
</head>
<body>

</body>

2 个答案:

答案 0 :(得分:0)

您可以在jQuery中使用unload事件,如:

$( window ).unload(function() {
  console.log( "Bye now!" );
});

当用户离开页面时会发生卸载事件。

在以下情况下触发卸载事件:

点击离开页面的链接 在地址栏中键入新URL 使用前进或后退按钮 浏览器窗口已关闭 页面重新加载 unload()方法指定卸载事件发生时会发生什么。

unload()方法只应在window对象上使用。

注意:unload事件在不同的浏览器中可能会有所不同。在使用之前,请务必在所有浏览器中测试此方法。

如果您希望jQuery卸载事件仅用于关闭窗口而不是用于链接导航,请参阅:jQuery unload event only for close window not for Link navigation


<强>更新

请尝试:

$(window).on('beforeunload ',function() {
    return 'Are you sure ?';
});

来源:window.onunload is not working properly in Chrome browser. Can any one help me?

答案 1 :(得分:0)

这是简单的解决方案请尝试一旦它可以工作。


 <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>


   <script type="text/javascript">
   var validNavigation = false;

    function wireUpEvents() {
    window.onbeforeunload = function() {
    if (!validNavigation) {
      return "Bye";
      }
  }
       $(document).keydown(function(e) {
  if (e.keyCode == 116){
    validNavigation = true;
   }
  });
  $("a").bind("click", function() {
   validNavigation = true;
    });

  $("form").bind("submit", function() {
    validNavigation = true;
   });

   $("input[type=submit]").bind("click", function() {
  validNavigation = true;
  });

   }
  $(document).ready(function() {
   wireUpEvents();  
  });

    </script>


 <body>

<h1>Hi Five</h1>

<a href="">hash</a>