0

我有一个问题需要 JQuery 的帮助。JQuery 给我的输入以增加使用大小写更改。编码:

#(".inp").bind("change",function (){
  if(isNaN(this.value)){
    this.value = 0;
  }
}

当我第一次输入字符时,发生了大小写更改,输入值更改为 0 但是当我第二次输入相同的字符时,不会发生更改。

4

2 回答 2

2

来自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    
    // ...
  }
});
于 2009-03-30T13:24:35.483 回答
1

看起来您可能想要使用 keypress 事件,而不是 change 事件。

于 2009-03-30T03:58:22.193 回答