在 KeyboardEvent 中,应该使用哪个 属性 来确定按下了哪个键?
In a KeyboardEvent, which property should be used to determine which key is pressed?
例如按键事件将 return 以下
KeyboardEvent {
charCode: 32,
code: "Space",
key: " ", // space character
keyCode: 32,
which: 32
}
其中哪些(如果有)deprecated/should 不用?代码对我来说很有意义,因为它是人类可读的。 Afaik,which
已弃用。
keyCode
判断哪个key是pressed.except keyCode
包括shiftKey
,altKey
,ctrlKey
,metaKey
检测特殊键。
我正在查看调试器并在 Angular 中追踪一个事件对象。您显然会使用 keyCode。我很确定文档也是这么说的。对这段对话的去向感兴趣。但是请注意,我使用 keyCode 并从所有键(输入 shift 等)中准确获取我需要的内容。
我想这是有道理的;你想要钥匙,使用钥匙代码。你想要这个角色,使用 charCode。您可能凭直觉认为它们是相同的,但看起来它们并非如此(或者至少,并非总是如此)。
为了添加所有细节,我绑定了 keyup 事件。它可能不是 angular 2 特定的,而只是共享环境等
我刚刚做了一些研究...根据 mdn (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) 我们应该使用 key
"If available".
char
已弃用
charCode
已弃用
keyCode
已弃用
which
已弃用
code
未弃用,因此我假设如果 key
不可用,我们将使用它。
例如按键事件将 return 以下
KeyboardEvent {
charCode: 32,
code: "Space",
key: " ", // space character
keyCode: 32,
which: 32
}
其中哪些(如果有)deprecated/should 不用?代码对我来说很有意义,因为它是人类可读的。 Afaik,which
已弃用。
keyCode
判断哪个key是pressed.except keyCode
包括shiftKey
,altKey
,ctrlKey
,metaKey
检测特殊键。
我正在查看调试器并在 Angular 中追踪一个事件对象。您显然会使用 keyCode。我很确定文档也是这么说的。对这段对话的去向感兴趣。但是请注意,我使用 keyCode 并从所有键(输入 shift 等)中准确获取我需要的内容。
我想这是有道理的;你想要钥匙,使用钥匙代码。你想要这个角色,使用 charCode。您可能凭直觉认为它们是相同的,但看起来它们并非如此(或者至少,并非总是如此)。
为了添加所有细节,我绑定了 keyup 事件。它可能不是 angular 2 特定的,而只是共享环境等
我刚刚做了一些研究...根据 mdn (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) 我们应该使用 key
"If available".
char
已弃用
charCode
已弃用
keyCode
已弃用
which
已弃用
code
未弃用,因此我假设如果 key
不可用,我们将使用它。