【问题标题】:Event keyCode different for Numeric value [duplicate]数字值的事件keyCode不同[重复]
【发布时间】:2014-10-24 02:54:26
【问题描述】:

jQuery 代码

only_float 是文本框类名称。

$(".only_float").live("down",function(event){
          console.log(event.keyCode);
    });

当我在下面提到的图像上按数字键 1 时,它会显示 49 for keyCode。

当我在下面提到的图像上按数字键 1 时,它将显示 97 for keyCode..

我的问题是为什么相同的数值使用不同的 keyCode?​​strong>

【问题讨论】:

  • 因为 JQuery 不关心数值,它关心被按下的物理键。 (当然我这里可能是错的)
  • @mattingly890 你能解释一下physical key 的意思吗?
  • @mplungjan 我的实际问题不是针对 keyCode,但我想验证浮点数以便可以?
  • 物理键,我指的是键盘上按下的实际键;从硬件的角度来看,每把钥匙都是不同的,不管上面碰巧有什么塑料贴纸。你能澄清一下“验证浮点数”是什么意思吗?
  • 我想在文本框中只允许浮点数,然后我如何验证23.44(有效)和23.44a(无效)

标签: jquery


【解决方案1】:

当在 JavaScript 中触发键盘事件时,event.keyCode 包含被按下的 key 的键码。 数字键盘标准位置数字有两个不同的常量。

MDN reference,定义了以下常量:

DOM_VK_1 = 0x31 (49) DOM_VK_NUMPAD1 = 0x61 (97)

因此,keyCode 很可能会有所不同,具体取决于按下的是哪个物理键,是常规的1 还是数字键盘1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-23
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    相关资源
    最近更新 更多