ページから離れてナビゲートし、状態を管理する識別子を持つさまざまなイベントのイベントハンドラを記述できます。次に、onbeforepageunload関数でこの識別子を使用して、実行するアクションを実行できます。次に、入力タイプsubmitを探して識別子を設定するコード例を示します。同様に、アンカータグなどを持つことができます。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="">
<input type="submit" value="Submit">
</form>
</body>
<script>
var submit_was_clicked = false;
window.addEventListener("beforeunload", function (event) {
if(submit_was_clicked){
console.log('submit button clicked')
}else{
console.log('on before unload');
}
});
document.addEventListener("click", function(e) {
if (e.target.type.toLowerCase() === 'submit') {
submit_was_clicked = true;
}
}, true);
</script>
</html>
上記の2つのオプションは、「onbeforeunload」がトリガされる唯一の2つの方法ではありません。 – nnnnnn
F5の確認ダイアログのみを表示したい - 投稿しない –
beforeunloadハンドラを削除するsubmitイベントハンドラを追加します。 – nnnnnn