【发布时间】:2019-10-01 19:26:27
【问题描述】:
我正在尝试将 jQuery 从现有代码库中剥离出来,作为现代化/优化计划的一部分。当用户在文本输入中点击enter 键时,有一些地方需要发生一些事情。之前,我们通过以下方式实现了这一点:
$("#loginInput").on("keypress", e => {
if (e.which == 13) {
// if key pressed was enter...
login();
}
});
不过,通读键盘事件APIhere,我发现大部分常用的API都已弃用,例如KeyboardEvent.which和KeyboardEvent.keyCode。
尽管这些属性在大多数浏览器中仍然可用,但我对使用已弃用的 API 感到不舒服。我应该改用什么?
【问题讨论】:
-
这不清楚吗? “警告:此属性已弃用;如果可用,您应该改用 KeyboardEvent.key。”
-
@str 是的,当时还不清楚。由于某种原因,我的大脑没有将获取 KeyboarEvent.key 的结果和使用它的实际值而不是依赖于先前的 KeyboardEvent.which 或 KeyboardEvent.keyCode 之间的点连接起来。在看到 e.which 这么久之后,我期待一个数字结果。对你来说一目了然的事情可能不适合其他人。
标签: javascript