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();
}
},
...
见“要了解keyCode和charCode之间的区别,您无法从keyup
或keydown
事件中判断击键是否产生了字符。唯一可以做到这一点的事件是keypress
。即使如此,在某些浏览器中检测到这一点还是相当困难的行为不一致的原因。请参阅下一页的“3.2.字符事件返回的值”部分:谢谢您的回答,我能够获取密钥和字符码,但我想检查它是否是字符,任何字符…您不能(可靠地)从keyup
或keydown
事件中获取有关键入字符的信息。它必须是keypress
。我能够使用这些方法(使用参数更新问题)但是我不知道如何在不循环的情况下检查它是否有任何字符…我更新了我的答案。没有必要执行循环-您可以按照上面所述执行范围比较。
...,
enableKeyEvents: true,
listeners:{
'keyup': function(f, e){
var charCode = e.getCharCode();
var key = e.getKey();
}
},
...