2011-07-18 12 views
0

jqueryモーダルダイアログの内部にtextarea要素があり、吹き出しハンドラが添付されています。ブラーハンドラコードは、$('#mydialog).dialog('destroy').remove();を呼び出すダイアログのボタンがクリックされると、ChromeとInternet Explorerで正しく起動されます。jQuery UIダイアログが閉じられる前に、テキストエリアのブラーイベントが発生しないのはなぜですか?

残念ながら、Firefoxではこれは起こっていません!

これはなぜですか?

答えて

0

setTimeoutを使用して最終的に問題を解決できました。クリックハンドラコードをラップすると、テキストエリアのブラーイベントが正常に発生するのに十分な時間がかかりました。

var c = $('#mydialog'); setTimeout(function() {c.dialog('destroy').remove();}, 1);

それはこれまで判明したように、1msのタイムアウトがblurイベントが発生することを可能にするためにブラウザに適切なコンテキストスイッチを強制的にちょうど十分である次のよう

得られたコードがありました要素がDOMから削除される前に

関連する問題