1

次のjsを使用して、ブラウザ/ウィンドウが閉じる前にポップアップを表示しています。しかし、それは機能していないようです。

$(window).bind('beforeunload', function(e) {
    $('#beforeclose').click(); 
});

私が表示しようとしているポップアップはprettyPopinです。そして、#beforecloseこれは、ウィンドウがアンロードされる前にクリックイベントをバインドしようとしているアンカーのIDです。ネイティブのjsポップアップは機能しますが、jQueryポップアップは機能しません。

私がやりたいことを達成する方法はありますか?私はjsの専門家ではないので、私に説明するか、それぞれのリンクを参照してください。

前もって感謝します。

4

3 に答える 3

3

安全に行うことはできません。

onbeforeunloadユーザーがページを離れるのを完全に妨げないように設計されています。唯一すべきことは、ユーザーがページを離れたくない理由を示すメッセージを含む文字列を返すことです。このメッセージは、ユーザーがfirefox を使用していない限り、ユーザーに表示されます。

于 2012-04-25T06:18:28.273 に答える
1

これを試して:

<script type="text/javascript">
        $(function() {
        function confirmmsg() {
            return "Mail Not sent";
        }
        window.onbeforeunload = confirmmsg;

        });
</script>
于 2012-04-25T06:18:31.020 に答える
0

に変更してみてください

$(window).bind('beforeunload', function(e) {
    $('#beforeclose').click(); 
    e.preventDefault();
    return false; // just in case.. 
});

jQueryのドキュメントから:

event.preventDefault()

説明: このメソッドが呼び出された場合、イベントのデフォルト アクションはトリガーされません。

基本的に、beforeunloadイベントでポップアップを表示する関数をバインドしていますが、アラート ウィンドウなどのようにブラウザーをブロックしません。を使用event.preventDefault()すると、イベント フローの実行が停止します。

于 2012-04-25T06:11:58.390 に答える