ホームページ > ウェブフロントエンド > jsチュートリアル > フォームの送信を妨害せずにブラウザ ウィンドウの終了を検出するにはどうすればよいですか?

フォームの送信を妨害せずにブラウザ ウィンドウの終了を検出するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-13 22:40:14
オリジナル
321 人が閲覧しました

How Can I Detect Browser Window Closure Without Intercepting Form Submissions?

フォーム送信インターセプトなしでブラウザ ウィンドウを閉じるイベントをキャプチャする

フォーム送信との競合を避けてブラウザ ウィンドウを閉じるイベントを具体的にキャプチャするには、jQuery の beforeunloadイベントはわずかな変更で悪用できます。

beforeunload イベントは、は、ページの放棄を引き起こすあらゆるアクションのトリガーになります。ウィンドウを閉じるイベントのみに制限するために、次のアプローチを採用します。

jQuery バージョン 1.7 および 1.7 の更新されたコードそれ以降:

var inFormOrLink;
$('a').on('click', function() { inFormOrLink = true; });
$('form').on('submit', function() { inFormOrLink = true; });

$(window).on("beforeunload", function() { 
    return inFormOrLink ? "Do you really want to close?" : null; 
})
ログイン後にコピー

jQuery の古いバージョン (1.7 より前):

var inFormOrLink;
$('a').live('click', function() { inFormOrLink = true; });
$('form').bind('submit', function() { inFormOrLink = true; });

$(window).bind("beforeunload", function() { 
    return inFormOrLink ? "Do you really want to close?" : null; 
})
ログイン後にコピー

以上がフォームの送信を妨害せずにブラウザ ウィンドウの終了を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート