2015-10-15 78 views
0

我有这样的代码:jQuery的使用keyUp功能触发不止一次即使该事件发生的更只有一次

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

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

但是,我正在经历事件发生多次,即使我只按一次该键。

有什么想法?

+1

当'#zip'具有焦点时,按下按键时'$(“#zip”).keyup'代码将被触发,所以不需要先检查焦点。 –

+0

是的,我明白了。谢谢。 –

回答

2

您正在绑定keyup事件focus事件处理程序因此多个事件处理程序的绑定为keyup事件。

移动keyup事件绑定以外focus事件处理程序。

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

有道理......谢谢:)所以我根本不需要专注,对吧? –

相关问题