按<ctrl> + m时我​​得到的是ASCII码10而不是13

时间:2018-07-18 03:33:24

标签: javascript

我希望结果是13,但浏览器控制台给了我
{ "altKey": false, "ctrlKey": true, "shiftKey": false, "char": undefined, "charCode": 10, "key": "Enter", "keyCode": 10 }

为什么10是正常的?如果我按 CTRL + j

,它也会显示10

$('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>

2 个答案:

答案 0 :(得分:0)

仅检查event.keyCode中13的值。

$('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>

答案 1 :(得分:0)

在下面的代码77的“ m”键中进行检查

function KeyPress(e) {
      var evtobj = window.event? event : e
      console.log(evtobj.keyCode);
      if (evtobj.keyCode == 77 && evtobj.ctrlKey) alert("Ctrl+m");
}

document.onkeydown = KeyPress;