敲击时的Extjs监听器检查其是否为任何字符

neo*_*ser 4 javascript extjs

我似乎无法在任何地方找到它.我想找到检查击键是否实际上是一个角色的最佳方法.

listeners:{
    'keyup':function(f, e){
        //Is key a letter/character
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑

感谢所有回答的人,我知道如何检测按下的实际键,我想知道如何检测键是否实际上是一个字符(不是箭头,退格键,输入等)

Ste*_*rig 6

要捕获键盘事件,必须将enableKeyEvents组件的属性设置为true.

...,
enableKeyEvents: true,
listeners:{
    'keyup': function(f, e){
        var charCode = e.getCharCode();
        var key      = e.getKey();
    }
},
...
Run Code Online (Sandbox Code Playgroud)

有关keyCodecharCode之间差异的说明,请参阅" 检测击键 " .


Tom*_*mmi 5

您需要捕获发送到事件的参数.然后评估event.getKey():

listeners:{
    'keyup':function(field, event){
        if(event.getKey() >= 65 && event.getKey() <= 90) {
           //the key was A-Z
        }
        if(event.getKey() >= 97 && event.getKey() <= 122) {
           //the key was a-z
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


Abd*_*oof 5

您需要具有正确的事件参数。

'keyup': {
        fn: function(field,event) {
         //use event.getKey() to get the key
         }
    }
Run Code Online (Sandbox Code Playgroud)

第一个参数是字段(表单元素),第二个是事件对象。您可以使用事件对象来获取按键详细信息。使用getKey()方法或getCharCode()根据您的要求。

getKey方法返回数字代码。您将必须比较范围(a = 65&z = 90),以检查按键是否为字符。Ext JS提供了一些用于检查特殊键的静态变量。