0

我有这个按键功能,只允许数字和“/”我想添加到它的退格键。有人有想法吗?

function OnKeyPressNumberText(sender, eventArgs)
{         
    var char = eventArgs.get_keyCharacter();
    //will allow just letters and "-" 
    var exp = /[^0-9/]/g;
    if (exp.test(char)) {
        eventArgs.set_cancel(true);
    }            
}
4

2 回答 2

2

一些命令键也有 char 值:

输入 - 13

退格 - 8

逃脱 - 27

...

只需跳过所有小于 32(或小于空格)的字符

  var char = eventArgs.get_keyCharacter();

  // let command keys (BackSpace, Enter, Tab/Shift+Tab, Escape...) do its work
  if (char < ' ') {
    eventArgs.set_cancel(true); // <- see Mike Mouannes comments below

    return;
  }

  //will allow just letters and "-" 
  var exp = /[^0-9/]/g;

  if (exp.test(char)) {
    eventArgs.set_cancel(true);
  }
于 2013-07-23T11:54:03.350 回答
0

只有keydown,keyup事件可以处理控制键。
看到这个小提琴。
例如,尝试按下backspace字段和按钮a,您可以看到,当您backspace仅按下时keydownkeyup事件就会启动,而当您按下a键时,所有事件都会启动。

并查看您在、(65) 和(97) 事件中按下不同a键的时间。event.keyCodekeydownkeyupkeypress

于 2013-07-23T13:25:21.333 回答