Javascript 键盘上的Extjs侦听器检查其是否有任何字符

Javascript 键盘上的Extjs侦听器检查其是否有任何字符,javascript,extjs,Javascript,Extjs,我好像到处都找不到这个。我想找到最好的方法来检查击键是否是一个字符 listeners:{ 'keyup':function(f, e){ //Is key a letter/character } } 编辑 感谢所有回答的人,我知道如何检测实际按下的按键,我想知道如何检测按键是否为字符(不是箭头、退格、回车等)您需要捕获发送到事件的参数。然后计算事件。getKey(): 侦听器:{ “keyup”:函数(字段、事件){ 如果(event.getKey()>=6

我好像到处都找不到这个。我想找到最好的方法来检查击键是否是一个字符

listeners:{
    'keyup':function(f, e){
        //Is key a letter/character
    }
}
编辑


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

您需要捕获发送到事件的参数。然后计算
事件。getKey()

侦听器:{
“keyup”:函数(字段、事件){

如果(event.getKey()>=65&&event.getKey()=97&&event.getKey(),则需要为事件提供正确的参数

'keyup': {
        fn: function(field,event) {
         //use event.getKey() to get the key
         }
    }
第一个参数是字段(表单元素),第二个是事件对象。您可以使用事件对象获取按键详细信息。根据需要使用
getKey()
方法或
getCharCode()


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

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

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

见“要了解keyCodecharCode

之间的区别,您无法从
keyup
keydown
事件中判断击键是否产生了字符。唯一可以做到这一点的事件是
keypress
。即使如此,在某些浏览器中检测到这一点还是相当困难的行为不一致的原因。请参阅下一页的“3.2.字符事件返回的值”部分:

谢谢您的回答,我能够获取密钥和字符码,但我想检查它是否是字符,任何字符…您不能(可靠地)从
keyup
keydown
事件中获取有关键入字符的信息。它必须是
keypress
。我能够使用这些方法(使用参数更新问题)但是我不知道如何在不循环的情况下检查它是否有任何字符…我更新了我的答案。没有必要执行循环-您可以按照上面所述执行范围比较。
...,
enableKeyEvents: true,
listeners:{
    'keyup': function(f, e){
        var charCode = e.getCharCode();
        var key      = e.getKey();
    }
},
...