2009-10-14 8 views
20

私は、彼が実際にページを離れるかどうか、Googleのワードプロセッサのようにクローズボタンをクリックするかどうかをユーザーに尋ねます。どのようにjqueryを使用してそれを行うには?Jqueryがウィンドウを閉じるのを防ぐ

答えて

28

ウィンドウのonbeforeunloadプロパティを関数に設定します。

This post has a good example on how to do it.

それとも別の例:

<script language="JavaScript"> 
    var needToConfirm = true; 

    window.onbeforeunload = confirmExit; 
    function confirmExit() 
    { 
    if (needToConfirm) 
     return message to display in dialog box; 
    } 
</script> 

... 

<input type="Submit" value="Save" onclick="needToConfirm = false;" /> 


とすることができますあなたのフォームのneedToConfirmを設定するには:

$(document).ready(function() { 
    $(':input', document.myForm).bind("change", function() { needToConfirm = true; }); // Prevent accidental navigation away 
}); 
-2

jQueryのUIは、あなたのために有用である可能性がある - this linkを参照してください。いくつかの種類のダイアログが表示されます。あなたが望むのは「モーダル確認」です。しかし、JQueryのUIライブラリは非常に重宝していますので、あなたがもっと個別のオプションを調べるほうが良いかもしれません(JQuery Confirm Modalを検索することによっていくつか出てきました)。私はそれらを試したことがないので、私はそれらのソリューションの品質を保証することはできません。

+2

なぜ7年前に作成された投稿のダウン投票は? – n00dle

3

私のために働いた;

$(window).unload(function() { 
       if(event.clientY < 0) { 
        //do whatever you want when closing the window.. 
       } 
      }); 
+2

'beforeunload'イベントは、彼が変更を保存したいかどうかをユーザーに尋ねるのに便利だと思います: '$(window).bind( 'beforeunload'、function(){...});' –

+0

Ah!ここ数年の間にこれが変わったように見えるので、2011年にはまだ動いているかもしれません。 –

関連する問題