是否可以从onkeyup获取密钥代码



我知道在使用JavaScript或jQuery时。我可以在对象上添加一个事件侦听器,以便在按下某个键时调用函数。

但是,如果函数是从 HTML 启动的,如以下示例所示:

function callMyFunction (importantothervalue) {
  //How can I get the keycode?
}
<textarea onkeyup="callMyFunction(1);"></textarea>
<textarea onkeyup="callMyFunction(2);"></textarea>
<textarea onkeyup="callMyFunction(3);"></textarea>

有没有办法从这个上下文中检索密钥代码?或者,如果我想获取密钥代码,我是否总是需要创建一个事件处理程序?

有什么方法可以让我在生成的函数调用中包含 importantothervalue,而无需对 id属性中的信息进行编码并从那里提取它?

使用 event.key (或 event.code

您可以将event传递给可从中访问属性的函数key

我建议您查看KeyboardEvent.keyKeyboardEvent.code的文档

当心旧keyCode

如果可能的话,你应该避免使用它;它已经被弃用了一段时间。相反,您应该使用 KeyboardEvent.code ,如果它已实现。不幸的是,某些浏览器仍然没有它,因此您必须小心确保使用所有目标浏览器都支持的浏览器。谷歌浏览器和Safari已经实现了KeyboardEvent.keyIdentifier,这是在草案规范中定义的,而不是最终规范。

function callMyFunction (e, importantothervalue) {
  console.log(e.key); // ex: "j"
  console.log(e.code); // ex: "KeyJ"
  console.log(importantothervalue)
}
<textarea onkeyup="callMyFunction(event, 1);"></textarea>
<textarea onkeyup="callMyFunction(event, 2);"></textarea>
<textarea onkeyup="callMyFunction(event, 3);"></textarea>

相关内容

  • 没有找到相关文章

最新更新