jQuery UI ダイアログにバグがあり、closeOnEscape が正しく機能しないため、エスケープしてもダイアログが閉じてしまうようです。考えられる解決策の 1 つは、オーバーレイのキーダウンをバインド解除することですが、これはうまくいかないようです。
機能する別のソリューションはありますか?
1.6 のバグと修正のリンクは次のとおりですが、1.5.3 はまだ壊れています: http://dev.jqueryui.com/ticket/3253
jQuery UI ダイアログにバグがあり、closeOnEscape が正しく機能しないため、エスケープしてもダイアログが閉じてしまうようです。考えられる解決策の 1 つは、オーバーレイのキーダウンをバインド解除することですが、これはうまくいかないようです。
機能する別のソリューションはありますか?
1.6 のバグと修正のリンクは次のとおりですが、1.5.3 はまだ壊れています: http://dev.jqueryui.com/ticket/3253
このバグは修正されています (1.6b): http://jqueryui.com/docs/Changelog/1.6
最新の jQuery UI リリースに更新すると、この問題が解決するはずです。最新のリリース (この回答の時点で 1.8.2) では、すべてのブラウザーで問題なく動作します。
バックポートへの非常に単純なパッチのようです-それはただラッピングするだけです
if (options.closeOnEscape) { }
その周り
(e.keyCode && e.keyCode == $.keyCode.ESCAPE && dialog.close());