2

私は 1 ページのアプリに取り組んできましたが、ドロップダウンが非表示になっていると思われるときに、ドロップダウンが開いたままになっていることに気付きました。なぜそうなるのか調べてみたところ、親要素が隠されている場合、拡張hide機能を使ったjQuery UIで要素を隠蔽しても意味がないことがわかりました。

私が何を意味するかを示すこのフィドルHideの例は、 &Showボタンをクリックしてから、クリックShow parent1してそこに要素を非表示にしようとするだけです。ステータス インジケータが即座に更新されることに気付くでしょうが、元に戻るとparent2、要素がまだ表示されていることがわかります。

引数なしで、またはミリ秒のみが渡された jQuery を使用するhideと、正しく動作し、jQuery UI 引数で更新すると動作が停止することがわかったので、jQuery 自体の問題ではなく jQuery UI であると想定します。

だから私の質問は、なぜjQuery UIがこのように機能しているのかということです。

4

2 に答える 2

0

これは jQuery UI のバグで、1.10.2 で修正されました。

バグ レポート チケットへのリンクは 次のとおりですhttp://bugs.jqueryui.com/ticket/9120

于 2013-02-27T20:00:32.587 に答える
0

私はそれが機能するはずの方法だと思います。この場合parent2、行に戻ると$('#parent2').show();、デフォルトですべての子要素も表示されます。つまり、show()内のすべての要素で繰り返されますparent2。これは面倒に思えますが、あなたの修正版であるこのJSFiddleには回避策があります。

于 2013-02-25T10:45:47.587 に答える