【问题标题】:Delete button keyCode not working删除按钮 keyCode 不起作用
【发布时间】:2017-06-24 01:47:41
【问题描述】:

我有一个我想在用户按下 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?,并检查了是否有delKey,类似于ctrlKey,但没有。 如何使我确定为 46 的删除 keyCode 与我的代码一起使用?有没有更好的方法?
提前致谢!

【问题讨论】:

  • 您的语法/逻辑似乎正确——您可以发布您的 HTML 代码吗?
  • 你确定不是8
  • @epascarello 8 是退格键
  • 我认为你需要使用keydown
  • 相当肯定onkeypress 禁止删除键;尝试将其更改为onkeydown

标签: javascript html keycode


【解决方案1】:

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
相关资源
最近更新 更多