如何在Javascript中检测数字小键盘输入

jfk*_*ein 4 javascript

我想让Javascript仅通过数字键盘输入键来响应按键或键控事件,而不是通常的Enter键.他们似乎都根据jQuery keypress docs中demo演示了相同的事件数据,所以我不确定它是否可行.

Eri*_* J. 9

它们确实在JavaScript可以访问的抽象级别生成相同的击键数据.请记住,JavaScript存在于沙箱(浏览器)中,无法直接访问底层硬件(有很多平台根本没有数字键盘,但确实有浏览器).

这是不可能做到的.


小智 6

现在可以将小键盘 Enter 检测为单独的键。使用 KeyboardEvent.location 属性。通过这种方式,您可以首先检查键码 13,然后检查键是否位于小键盘上,从而确定小键盘输入。

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/location

例子:

    window.onkeydown=function(ev)
    {
         var e= ev || window.event,
         key = e.keyCode
         if ((key===13) && (e.location===3)) {
            console.log("got ya");
            console.log(e.location);
         }
   }
Run Code Online (Sandbox Code Playgroud)