Mari
9 Apr 2009, 4:37 AM
現在、Ext.form.ComboBox(インクリメンタルサーチ)を使用した画面を作成しています。
Ext.form.ComboBoxは、画面が初期表示される際ではなく、ユーザーがExt.form.ComboBoxの項目にonfocusした時点でloadするような仕様です。(初期表示時の負荷を減らすため。)
そこで問題なのですが、Ext.form.ComboBoxがはじめてloadされた際、x-form-textというスタイルクラスが自動で設定されてしまいます。
Ext.form.ComboBoxのfocusイベントで、即座にremoveClass('x-form-text');を行うのですが、
removeClassを行うまでの一瞬の間、x-form-textが適用されてしまうため、
Ext.form.ComboBoxを適用しているテキストボックスのheightなどが変化したり、
そのテキストボックスに初期値が設定されていた場合は、その文字列が上下にずれてみえたりしてしまいます。
(x-form-textのpaddingや、line-heightの影響。)
※初期表示でloadしていないため、画面の見た目が変わってしまうのがわかってしまいます。
x-form-textをload時に適用しないような設定はありますでしょうか?
ご存知の方がいらっしゃいましたら、回答よろしくお願いします。
Ext.form.ComboBoxは、画面が初期表示される際ではなく、ユーザーがExt.form.ComboBoxの項目にonfocusした時点でloadするような仕様です。(初期表示時の負荷を減らすため。)
そこで問題なのですが、Ext.form.ComboBoxがはじめてloadされた際、x-form-textというスタイルクラスが自動で設定されてしまいます。
Ext.form.ComboBoxのfocusイベントで、即座にremoveClass('x-form-text');を行うのですが、
removeClassを行うまでの一瞬の間、x-form-textが適用されてしまうため、
Ext.form.ComboBoxを適用しているテキストボックスのheightなどが変化したり、
そのテキストボックスに初期値が設定されていた場合は、その文字列が上下にずれてみえたりしてしまいます。
(x-form-textのpaddingや、line-heightの影響。)
※初期表示でloadしていないため、画面の見た目が変わってしまうのがわかってしまいます。
x-form-textをload時に適用しないような設定はありますでしょうか?
ご存知の方がいらっしゃいましたら、回答よろしくお願いします。