1

IE8、IE9、Firefox、Chromeのほぼすべてのブラウザで動作するjsfiddleの動作例です。 (mavisまたはtest1)は、2回クリックするだけで動作します。私のonbeforeunload関数に何か問題がありますが、それを見つけることができませんでした。

http://jsfiddle.net/Qq2tk/

あなたがこの関数の前に、私の例のようにのJScriptのsetConfirmUnload機能のトップを置く場合:

$(".temasec").live("click", function() 

とクラスの変更ボタンをクリックし、「メイビス」または「TEST1」のではありません最初のクリックでは何もしませんが、2回目のクリックでは動作します。これはIE8でのみ起こります(IE7とIE6で、テストされていないかもしれません)

したがって、クラス変更機能が正常に機能した後にsetConfirmUnload関数を移動すると、正常に機能します。

このコードについては何が間違っていますか?特にIE8のために変わったのはIE8だけです。

ありがとうございました。

Abides

答えて

0

変更イベントをうまくサポートしていないようです。完全.live()メソッドによってサポートされていない「ファイル」タイプの 入力で使用する場合、このうち http://api.jquery.com/live

ペーストとは、加えて、イベントをリセット

チェックは、原因 を変更するにはInternet Explorerでイベントのバブリングをシミュレートする際の問題。これらの場合、 では代わりに.bind()メソッドを使用できます。

あなたはjQueryの "アンロード" イベントを使用してみてください

+0

ありがとうございました。livequeryはie8で作業していますが、他のブラウザではまだテストされていません。私は自分のプロジェクトで3.rdパーティプラグインを使いたくないのですが、私はチャンスがないと思います。たぶん私はjqueryのライブ文書に記載されているようにバインドしようとする必要があります。 – Abides

0

insteady livequeryを使用してみてください:

$(ウィンドウ).unload(unloadMessage)。

+0

あなたの提案に感謝しますが、問題については関連していないので、window.unloadに関連する関数を削除し、上にlive.changeイベントを入れることができます。結果は同じです。 – Abides

関連する問題