2011-06-25 6 views
2

私はどこにでもいましたが、私の問題に対する答えを見つけることができないかもしれません。ExtJS 4:ツールバーのテキスト入力による問題(フォーカスマネージャーだと思います)

私はツールバー でパネルを持っているツールバーは、3つの項目(ボタン、テキストフィールド、ボタン) これは、私がテキストフィールドになど、編集、私は書くことができない、ボタンを押すことができます正常に動作してい...

しかし、私はに変更した場合:ボタン、コンポーネント、ボタン およびコンポーネントに、私は、HTMLを記述します。「」

フォーカスマネージャ(他の多分何かが...)でキック...よく..そのテキスト入力で本当にうまくいきませんが、私は書くことができますが、私はBackspaceを押すことはできません。何も起こらず、矢印キーを押すこともできません。

そのテキスト入力でのみフォーカスマネージャを抑制する方法はありますか?

"Ext.FocusManager.disable()"を試しましたが、動作しません(また、Ext.FocusManager.enabledがfalseを返します)。だから、フォーカスマネージャの実際の問題ではない)

私はツールバーの問題を絞り込んだ... 私はテキスト入力を作成し、他の場所では、すべてのキーが動作...私はそれを動かしたツールバーの中で同じ入力(jqueryを使用)...そしてバックスペースと矢印キーが機能しなくなります...私がそれを移動すると、キーが再び働き始めます:S

私はテキスト入力が必要です現在の入力を隠すjQueryプラグインの使用を計画しています。それを別の入力に置き換えます...あなたが見るから...たとえテキストフィールドを使っても、テキストフィールドは隠され、テキスト入力はバックスペースと矢印キーの機能なしで置き換えられます。

助けを歓迎します

よろしくお願いします!!!!!!!!

答えて

1

OK ....

XTYPE使用: 'テキストフィールド' 私のために奇妙な何かがありましたが.... はfalseを返します ....

私が行う場合をExt.FocusManager.enabled Ext.FocusManager.enable();その後、Ext.FocusManager.disable();を呼び出します。 でもXTYPE:「テキストフィールド」は、バックスペースキーと矢印キーで作業を停止します:P

:O

は、だから私はするFocusManagerが何かを持っていると思います....

をとにかく、私は暫定私の問題を解決しました

私は

 { 
      xtype: 'textfield', 
      name: 'emailsi', 
      id: 'emailsi', 
      labelStyle: 'width: auto', 
      labelWidth: 120, 
      width: 500, 
      fieldLabel: idioma.personasInvolucradas 
     } 

テキストフィールドなどの部品を離れ、テキスト入力はjqueryのを経由して作成されたとき、それは前のテキストフィールド に display: noneを適用するので...私はを復元と position: absolute; float: right; z-index: -1;を適用して、再度隠れてレイアウトを妨げないようにしてください:P

最後に、バックスペースと左/右矢印キー機能を復元するには........

は、私はこのように、jQueryので .focus()イベントを作成:基本的に

   $('.textboxlist-bit-editable-input').focus(function(){ 
        $('#emailsi>div>input').css({display: 'block', 'z-index': '-2', position: 'absolute', float: 'right'}); 
        Ext.getCmp('emailsi').focus(); 
       }); 

が、私はオリジナルのテキストフィールドにフォーカスがある限り、私は(もあります:)テキスト入力中にバックスペースキーを押すことを発見しました最初にフォーカスイベントの外にあったのですが、ツールバーが再描画されると、テキストフィールドが表示に戻ります:none)

誰かがより良い解決策を持っている場合は、非常に歓迎されます:D

Rエーダード!!

+0

私はこの同じ問題を扱っていますが、これまでより良い解決策を見つけましたか? – limscoder

+0

@limscorderそれは私の解決策でした...テキストフィールドコンポーネントを使用し、デフォルトのコンポーネントを使用する場合、単純なが必要な場合は必要に応じて動作し、両方を作成してextjsテキストフィールドを非表示にしますコンポーネント、および入力テキストフォーカスイベントでは、$( '#myinput')のようなextjsテキストフィールドコンポーネントにfocsを戻します。 – figus

関連する問題