禁用extjs中tab键按下事件的文本字段

时间:2012-12-19 04:36:12

标签: extjs4 textfield

如何在extjs中按键盘上的tab键时禁用文本字段?

2 个答案:

答案 0 :(得分:2)

您可以将文本字段的enableKeyEvents属性设置为true,然后检测tab keypress并禁用文本字段:

{
   xtype: 'textfield',
   ...
   enableKeyEvents: true,
   listeners : {
      keypress : function(textfield, e, options) {
         if (e.keyCode == 9) {
            textfield.setDisabled(true);
         }
      }
   }
}

答案 1 :(得分:1)

如果将文本字段的tabIndex配置设置为负值,则无法使用Tab键访问文本字段。 例如:

Ext.create('Ext.form.Panel', {
    title: 'Contact Info',
    width: 300,
    bodyPadding: 10,
    renderTo: Ext.getBody(),
    items: [{
        xtype: 'textfield',
        name: 'name',
        fieldLabel: 'Name',
        tabIndex: 1
    }, {
        xtype: 'textfield',
        name: 'email',
        fieldLabel: 'Email Address',
        tabIndex: -1
    }]
});

在此示例中,按Tab键无法访问电子邮件文本字段。