当灯箱弹出时,Internet Explorer会触发(beforeunload)'

时间:2013-03-19 20:32:14

标签: javascript jquery internet-explorer onbeforeunload

这是我的代码:

$(window).on('beforeunload', function() {
   if ($('.jqmCustomize').css('display') == 'block')
     return 'You have not save your customization yet.';
});

这适用于chrome和firefox,但在Internet Explorer上,当我的灯箱在同一页面打开时,它会触发on('beforeunload')事件。有什么方法可以防止这种情况吗?我试着:

var close=true;
window.onbeforeunload = closeConfirmation;
function closeConfirmation(){
   if(close)
     return 'You have not save your customization yet.';
}

但我仍然得到相同的结果。

1 个答案:

答案 0 :(得分:0)

其实我没有看到任何问题。 可能是我正在使用旧版本的jqmodal和jquery,但它按预期工作:

http://jsfiddle.net/xqhLx/5/

$(function($){
  $('#jqModal').jqm();

   $('a').live('click',function(){
      $('#jqModal').jqmShow();    
      return false;
  }); 
});

$(window).on('beforeunload', function() {
   if ($('.jqmWindow').css('display') == 'block')
     return 'You have not save your customization yet.';
});

HTML:

<a href="/" >Test</a>

<div id="jqModal" class="jqmWindow" style="display: none;">This is the test</div>