我想取消输入中的所有键,这是我的代码
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;
为什么退格仍然适用于此?我还需要使用哪些活动?
答案 0 :(得分:2)
取决于浏览器,但是当按下某个键并且该键能够生成字符值时,通常会触发keypress
事件。
由于退格不会产生任何输出,因此它不会触发按键事件。
但是,您可以使用keydown
事件。
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;
JSFiddle演示:https://jsfiddle.net/L47k7uwx/1/