window.onbeforeunloadをaddEventListenerで実現しようとして失敗した
window.onclickの上位概念はwindow.addEventListener("click"という認識なので、同じようにwindow.onbeforeunloadもaddEventListenerに置き換えられるものなんだろうかと思ってやってみた。
通常のonbeforeunload。Firebugで実行してみてください。ページを移動したり閉じようとすると確認してきます。
window.onbeforeunload = function(e){ e.returnValue = '∩川ΘエΘ川∩ ∩( ・ω・)∩ \(^o^)/'; }
window.addEventListener("unload"でやってみる。機能しない。ページ遷移しちゃう。
window.addEventListener("unload", function(e) { console.log(e.cancelable) //trueなのでこのイベントはキャンセル可能。 if (!confirm('ページ遷移する?')) e.preventDefault(); }, false);
confirmでキャンセルしたらpreventDefault()でイベントが停止するはずなのにうまくいかない。。
そもそもwindow.onbeforeunloadに置き換えるものは存在しないのかな。ヘルプ!