删除密钥的ASCII密钥代码错误

时间:2014-06-27 08:45:07

标签: javascript ascii keycode

我有一个HTML表单,我需要只允许数字按键。为此,我使用了以下代码     

    $(".span8").keypress(function(e) 
    {
         var unicode=e.charCode? e.charCode : e.keyCode
     //alert(unicode);
     if ((unicode ==8) || (unicode==9)|| (unicode==46)){
        //if the key isn't the backspace key (which we should allow)
     }
     else
     {
         if (unicode<48||unicode>57&&unicode!=65) //if not a number
         return false //disable key press
     }

});

但是如果我正在测试密钥代码,那么删除密钥的值为46。 46是点( - 期间) 其他价值观正确。我无法找到我错了。 请帮忙

1 个答案:

答案 0 :(得分:3)

我使用keypress函数也发现了这种奇怪的行为。

相反,请尝试以下方法:

jQuery(function($) {
  var input = $('.span8');
  input.on('keydown', function() {
    var key = event.keyCode || event.charCode;

    if(key == 8 || key == 46)
        //Do something when DEL or Backspace is pressed
  });
});