首页 > 解决方案 > 当我按下时,我得到 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>

标签: javascript

解决方案


仅检查 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>


推荐阅读