триггер события изменения jquery - PullRequest
0 голосов
/ 30 марта 2009

У меня есть проблема, нуждающаяся в помощи JQuery. JQuery дает мой вклад, чтобы увеличить использование изменения регистра. код:

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

Когда я впервые вводил символы, произошел случай изменения, значения ввода изменились на 0, но когда я ввожу символ * во второй раз, изменение не произойдет.

Ответы [ 2 ]

2 голосов
/ 30 марта 2009

С Документация jQuery :

Событие изменения возникает, когда элемент управления теряет фокус ввода, и его значение было изменено с момента получения фокуса.

Итак, он выстрелил только один раз. И именно поэтому у вас есть поведение, которое вы получили. Я бы использовал событие 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    
    // ...
  }
});
1 голос
/ 30 марта 2009

Похоже, вы захотите использовать событие нажатия клавиши, а не изменение.

...