2

私はどこでも探していますが、私の問題に対する答えが見つからないかもしれません。誰かが私を助けてくれるかもしれません.

ツールバー付きのパネルがあります ツールバーには 3 つのアイテム (ボタン、テキストフィールド、ボタン) があります これは正常に動作し、ボタンを押すことはできますが、テキストフィールドで書き込みや編集などを行うことはできません...

しかし、次のように変更した場合: ボタン、コンポーネント、ボタン そして、コンポーネントに html: '' を記述します。

フォーカス マネージャー (おそらく何か他のもの...) が起動します... ええと.. そのテキスト入力はあまり得意ではありませんが、書くことはできます... しかし、バックスペースを押すことはできません。押しても何も起こりません。矢印キーを押せます....

そのテキスト入力でのみフォーカスマネージャーを抑制する方法はありますか??? またはツールバー全体に(実際には必要ありません)

「Ext.FocusManager.disable()」を試しましたが、うまくいきません (また、Ext.FocusManager.enabled が false を返すため、Focus Manager のせいではないかもしれません)。

問題をツールバーに絞り込みました...別の場所にテキスト入力を作成しましたが、すべてのキーが機能します...同じ入力を(jqueryを使用して)ツールバー内に移動しました...そしてバックスペースと矢印キーが機能しなくなりました...移動すると、キーが再び機能し始めます:S

現在の入力を非表示にして別の入力に置き換えるjQueryプラグインを使用する予定なので、テキスト入力にする必要があります...テキストフィールドを使用しても、テキストフィールドは非表示になり、テキスト入力は、バックスペースと矢印キーの機能なしでそれを置き換えます

どんな助けでも大歓迎です

よろしく!!!!!!!!

4

1 に答える 1

1

わかった....

xtype:'textfield'を使用すると、何か奇妙なことがありました。...Ext.FocusManager.enabledがfalseを返します...。

Ext.FocusManager.enable();を実行した場合 その後、Ext.FocusManager.disable(); xtype:'textfield'でさえ、バックスペースキーと矢印キーの操作を停止します:O

ですから、FocusManagerには何かすることがあると思います。

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

コンポーネントをテキストフィールドのままにしました

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

そして、テキスト入力がjqueryを介して作成されるdisplay: noneと、前のテキストフィールドに適用されます。だから...私はを復元しdisplay:block、また適用して、position: absolute; float: right; z-index: -1;再び非表示になり、レイアウトを乱さないようにします:P

そして最後に、Backspaceキーと左/右矢印キーの機能を復元します.......。

.focus()次のように、jQueryでイベントを作成します。

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

基本的に、元のテキストフィールドにフォーカスがある限り、テキスト入力でバックスペースを押すことができることを発見しました:)(cssを適用する場所もあります。最初はフォーカスイベントの外にありましたが、ツールバーが再描画されると、テキストフィールドはdisplay:noneに戻ります)

誰かがより良い解決策を持っているなら、それは大歓迎です:D

よろしく!

于 2011-06-25T21:00:40.050 に答える