2009年9月5日土曜日

回避法発見──Opera で、TEXTAREAの表示テキストとvalueプロパティの連動がなくなる問題

先の2つのポストでのべた問題の現象は、問題を(開発中のアプリ以外の場所で)再現しようとしてもうまくいかない…。が、ともかくこの現象を回避するための方法がわかった。

TEXTAREA要素を、非表示の要素に追加してはいけない表示してから追加しないと、valueプロパティと表示されているTEXTAREA内のテキストとの連動が切れる現象が起きやすくなる

結局のところ、2つの値の連動がなくなってしまう決定的な条件・理由は不明のままだが、ともかくOperaでは上記の対策が有効な模様。

実際にこの問題がおきたのは、jQuery UIライブラリの、DialogとTabsのUI内であった。どちらも、コンテンツを隠す──Dialogの場合はダイアログそのものを表示・非表示できるし、Tabsの場合は選択されているタブのコンテンツ以外は非表示になる──機能があり、この隠している状態で、コンテンツにTEXTAREA要素を追加すると上述の問題が100%発生していた。

0 件のコメント: