javascript可以区分左右shift键吗?

2022-01-13 00:00:00 keyboard javascript keycode

这主要是一个健全性检查.两个 shift 键的键码都是 16.这是否意味着实际上无法在浏览器中区分左右 shift 事件?

Mostly this is a sanity check. The key code for both shift keys is 16. Does that mean it is actually impossible to distinguish a left and right shift events in a browser?

推荐答案

在支持 DOM3 的较新浏览器中,您可以使用 event.location 来检查位置.

In newer browsers supporting DOM3 you can use event.location to check the location.

在 DOM3 规范中,为位置定义了 4 个常量,DOM_KEY_LOCATION_STANDARDDOM_KEY_LOCATION_LEFTDOM_KEY_LOCATION_RIGHTDOM_KEY_LOCATION_NUMPAD.

In the DOM3 spec, there are 4 constants defined for location, DOM_KEY_LOCATION_STANDARD, DOM_KEY_LOCATION_LEFT, DOM_KEY_LOCATION_RIGHT, andDOM_KEY_LOCATION_NUMPAD.

在这种情况下,你可以这样做:

In this case, you can do:

if (event.location === KeyboardEvent.DOM_KEY_LOCATION_LEFT){

} else if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT){

}

相关文章