javascript - 当我按下时,我得到 ASCII 码 10 而不是 13+ 米
问题描述
我希望结果是 13。但是浏览器控制台给了我
{
"altKey": false,
"ctrlKey": true,
"shiftKey": false,
"char": undefined,
"charCode": 10,
"key": "Enter",
"keyCode": 10
}
为什么是10,正常吗?如果我按CTRL+ ,它也会显示 10j
$('body').keypress(
({altKey,ctrlKey,shiftKey,char,charCode,key,keyCode})=>
console.log({altKey,ctrlKey,shiftKey,char,charCode,key,keyCode})
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
解决方案
仅检查 13 in 的值event.keyCode
。
$('body').keypress((event) => {
if (event.ctrlKey && event.key === 'm') {
console.log("ctrl+m pressed");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
推荐阅读
- java - 如何用 rxjava 替换使用 volatile 变量的线程间通信?
- python - 在损失函数中索引 tf 变量
- dependency-injection - 升级后使用 Autofac 在 NServiceBus 中注册依赖关系
- caching - Android Webview 的本地文件路径
- python - 形状计算器循环
- ios - 将 UIImageView 调整为 UILabel 的高度
- elasticsearch - 如何扩展弹性搜索日期范围直方图聚合查询?
- python - Python:在构建器外部实例化类时引发警告
- c++ - 将 bash 参数传递给 C++
- javascript - JS过滤数组与另一个数组的对象