2

これが私のコードです:

$(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.';
}

しかし、私はまだ同じ結果を得ます。

4

1 に答える 1

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>
于 2013-03-19T21:15:20.667 に答える