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に置き換えるものは存在しないのかな。ヘルプ!