0

私はextjs 4.0.7を使用しています。ユーザーがコンボボックスを使用しているときに、タブとEnterキーのイベントを無効にしたい。keyUp および KeyDown イベントを使用しようとしました。しかし、私はそれに対する警告を受け取りませんでした。

これが私のコードです:

{
  xtype: 'combo',
  store: ds,
  id:'UserBO_SelectComponentId',
  displayField: 'displayName',
  valueField: 'userId',
  typeAhead: false,
  hideLabel: true,
  disabled: false,
  hideTrigger:true,
  multiSelect:true,
  delimiter: ";",
  anchor: '100%',
  triggerAction: 'all',
  listeners: {
     change: function( comboField, newValue, oldValue, eOpts ){
       selectUserCallBack2(newValue,'UserBO_SelectComponentId',comboField,oldValue);
     },
     select:function(comboField,oldValue){
        testRec(comboField,oldValue)
     },
     keypress:function(comboField,e){
        disabledKeysOnKeyup(comboField,e)
     }
  },
  listConfig: {
     loadingText: 'Searching...',
     enableKeyEvents: true,
     emptyText: 'No matching posts found.'
  }, 
  pageSize: 10 
}

誰でもここで何が問題なのか教えてもらえますか?

4

2 に答える 2

2

keyup、keydown、およびkeypressedイベントは、enableKeyEventsがtrueに設定されている場合にのみ発生します。デフォルトではこれはfalseに設定されているためenableKeyEvents:true、コンボボックス構成に追加する必要があります。次に、EnterキーとTabキーを特別に処理します。

于 2012-05-17T08:47:27.877 に答える
1

重要なイベントをリッスンしてタブで移動する必要はありません。あなたがしたいことはautoSelectfalseに設定されています。デフォルトでは true です。false に設定すると、ユーザーは項目を選択するために Enter キーまたは Tab キーを押す前に (typeAhead の値が true でない限り) 項目を手動で強調表示するか、マウスを使用して値を選択する必要があります。

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.form.field.ComboBox-cfg-autoSelect

于 2014-12-18T13:34:45.020 に答える