jQuery keyUp函数不止一次触发,即使事件只发生过一次

时间:2015-10-15 09:58:48

标签: javascript jquery

我有这段代码:

   $( "#zip" ).focus(function() {
       $( "#zip" ).keyup(function(event) {
          if (event.keyCode == '38' || event.keyCode == '40'){
              $('#city').addClass('loadinggif');
            }
        });
    });

我想将loadinggif类添加到city输入,仅当用户有焦点form select时以及向上或向下按箭头时。

然而,即使我只按一次键,我也会遇到不止一次事件。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您在keyup事件处理程序中绑定focus事件,因此多个事件处理程序被绑定到keyup事件。

keyup事件绑定移到focus事件处理程序之外。

$( "#zip" ).focus(function() {       
});
$( "#zip" ).keyup(function(event) {
      if (event.keyCode == '38' || event.keyCode == '40'){
          $('#city').addClass('loadinggif');
      }
});