我有一个问题需要 JQuery 的帮助。JQuery 给我的输入以增加使用大小写更改。编码:
#(".inp").bind("change",function (){
if(isNaN(this.value)){
this.value = 0;
}
}
当我第一次输入字符时,发生了大小写更改,输入值更改为 0 但是当我第二次输入相同的字符时,不会发生更改。
我有一个问题需要 JQuery 的帮助。JQuery 给我的输入以增加使用大小写更改。编码:
#(".inp").bind("change",function (){
if(isNaN(this.value)){
this.value = 0;
}
}
当我第一次输入字符时,发生了大小写更改,输入值更改为 0 但是当我第二次输入相同的字符时,不会发生更改。
来自jQuery 文档:
当控件失去输入焦点并且其值在获得焦点后已被修改时,将触发 change 事件。
所以,它只发射了一次。这就是为什么你有你得到的行为。我会使用KeyDown 事件,因为
keydown 事件在键盘上的某个键被按下时触发。
要使用此事件,您必须执行以下操作:
$('.inp').keydown(function(event){
switch (event.keyCode) {
// ...
// different keys do different things
// Different browsers provide different codes
// see here for details: http://unixpapa.com/js/key.html
// ...
}
});
看起来您可能想要使用 keypress 事件,而不是 change 事件。