jQuery(1.6.x)に奇妙な問題があります。私が見つけたとして、jQueryのwindow.onbeforeunloadの内容が上書きされるため、jQueryがwindow.onbeforeunloadを上書きすることがあるのはなぜですか?
window.onbeforeunload = function() { return 'Are you sure ?'; };
しかし、それは動作しません:私は私のページでこのシンプルなコールを持っています。
function(e) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.handle.apply(eventHandle.elem, arguments) : undefined;
};
は、なぜ、どこでjQueryの私のonbeforeunload関数を上書きし、私が見つけることができる方法はある:JSコンソールで、私はwindow.onbeforeunloadは、jQueryのコードの一部が含まれていることを見ることができますか? jQueryをロードしてonbeforeunload関数を使って空のjsfiddleを実行しようとすると、期待どおりに動作します。
ご了承ください。前もって感謝します。
EDIT:
念のために、誰かが使用することを提案している:
$(window).bind('beforeunload', function() { return 'Are you sure';});
私はすでにそれを試みた、それは純粋なJavaScriptを使用するのと同じように動作します。
代わりにjQuery 'unload'メソッドを使用できますか? http://api.jquery.com/unload/ –
私は自分の関数を 'onbeforeunload'にうまく適用することができ、jQuery 1.6を使用しています。提供できる情報やコードはありますか?これはすべてのブラウザで機能しませんか? http://jsfiddle.net/Kai/QgVE8/ – Kai
あなたは宇宙で叫んでいます。この問題を再現したテストケースを提供してください。 – mekwall