2016-09-23 2 views

答えて

0

誰かが私たちのタグフィールドの「選択されたリスト」を展開すると、そのラベルがonClickリスナーを取得するよりも。このリスナーは、tagfieldsラベルをクリックすると「選択リスト」を折りたたみます。

listeners: { 
     expand: function (field) { 
      // Collapse List when click on Label 
      field.getEl().el.component.labelEl.on('click', function() { 
        setTimeout(function() { 
         field.collapse(); 
        }, 100); 
       } 
      ); 
     } 
    } 
0

まず、あなたはより良い何が起こっているかを理解する必要があります。ラベルをクリックしたため、タグフィールドが閉じていません。タグフィールドがフォーカスを失ったため終了します。 Chromeでは、タグフィールドの外の場所をクリックするとラベル上だけでなく、閉じます。

これは、何が起こっているかのヒントを示します。タグフィールドはフォーカスを失っていません。ラベルのHTMLコードを見ると、forという属性が設定されています。タグフィールドの末尾にのラベルがあります。

ラベルをクリックすると、関連するフィールドにフォーカスを移すことになります。したがって、Internet Explorerでは、タグフィールドは決してフォーカスを失わないので、タグフィールドは決して閉じません。

IEはこのような状況で仕様の意図に近いと主張します。しかし、いずれにしても、この振る舞いが本当に必要な場合は、ラベルのonclickリスナーを使用して自分でコードをコーディングする必要があります。

+0

ありがとうございました。 –

+0

は、私は2番目のバイオリンを持っている: https://fiddle.sencha.com/#fiddle/1hji クローム周りの私の仕事は、IEのように働いているなしの11 inputId: "dpvMytagfieldinputToNotSelect"、 のitemId: "dpvMytagfielditemToNotSelect"、 –

+0

クリックリスナーを作成しましたが、折りたたまれたときにはすべてのブラウザがタグフィールドリストを再度開きます: init:function(){ //ラベルをクリックしたときにTagfildlistを閉じる Ext.getCmp( 'mytagfield')。labelEl.on( 'クリックすると、function() {Ext.getCmp( 'mytagfield')。collapse();}); } –

関連する問題