删除按钮键码不起作用

Delete button keyCode not working

我有一个按钮,我想在用户按下 del 键时按下它。我有这个:

document.getElementById('result').onkeypress=function(e){
    //This works, when the user presses enter, submitbtn is clicked
    if(e.keyCode==13){
       document.getElementById('submitbtn').click();
    }

    //This doesn't, but it is the same as the code above
    else if(e.keyCode==46){
        document.getElementById('clrbtn').click();
    }
}

这是我的 HTML:

<input id="result" type="number" min="0" placeholder="0">
<button id="submitbtn" onclick="submit()">Submit</button>
<button id="clrbtn" onclick="clr()">Clear</button>

我已经尝试了 e.whiche.preventDefault() 但都不起作用。我查看了 CTRL keyCode (17) not working in JavaScript? 并查看是否有类似于 ctrlKeydelKey,但没有。 如何使我确定为 46 的 delete keyCode 与我的代码一起使用?有没有更好的方法?
提前致谢!

当您按回车键时,您的表单正在提交,但它不需要对您的代码做任何事情,这就是删除键不起作用的原因 你应该用 onkeydown

替换 onkeypress