如何在输入中取消键码退格?

时间:2017-08-08 20:57:00

标签: javascript html css

我想取消输入中的所有键,这是我的代码



window.onkeypress = function(event) {
  event.preventDefault();
  if (event.charCode && (event.charCode < 48 || event.charCode > 57 || event.charCode > 48)) {
    return false;
  }
}
&#13;
<input type="text" value="1" size="4" max="7" name="people-value" id="adults-value">
&#13;
&#13;
&#13;

为什么退格仍然适用于此?我还需要使用哪些活动?

1 个答案:

答案 0 :(得分:2)

取决于浏览器,但是当按下某个键并且该键能够生成字符值时,通常会触发keypress事件。

由于退格不会产生任何输出,因此它不会触发按键事件。

但是,您可以使用keydown事件。

&#13;
&#13;
window.onkeydown = function(event) {
  event.preventDefault();
  console.log(event.charCode)
  if (event.charCode && (event.charCode < 48 || event.charCode > 57 || event.charCode > 48)) {
    return false;
  }
}
&#13;
<input type="text" value="1" size="4" max="7" name="people-value" id="adults-value">
&#13;
&#13;
&#13;

JSFiddle演示:https://jsfiddle.net/L47k7uwx/1/