【发布时间】:2015-04-26 13:20:40
【问题描述】:
我有几个文本框只需要接受小于 5 的数字。 当用户输入一个数字时,需要发生一些其他事件。 Keypress 事件工作得很好,除了当用户输入文本框 1 时,该事件被触发一次(这是正确的),当他随后进入文本框 2 时,事件被触发两次(这是正确的吗?) - 一次用于文本框 1,另一次用于文本框 2。如果他退格并输入第三个数字,则该事件被触发三次。
我是 jquery 的新手,所以如果我遗漏了一些简单的东西,请原谅我。我原以为每次按键都会触发一次,但似乎它会保留以前的按键。
function validateInputKeyPress(e){
var element = document.getElementById(e.name);
$("body").keypress(function(e) {
var keycode= e.keyCode;
alert(e.name); // this tells me which textbox
if (keycode!=8){ //allow backspace
if (keycode<49||keycode>53) { //if not a number less than 6
return false; //disable key press
}
}
handleQtyChange(e.name, keycode);
});
}
【问题讨论】: