0

我正在使用 extjs 4.0.7。当用户使用 Combobox 时,我想禁用选项卡和 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

你不需要听关键事件并进入它。你想要做的是设置autoSelect为假。默认情况下是真的。当设置为 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 回答