2015-10-15 77 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

有道理......謝謝:)所以我根本不需要專注,對吧? –

相關問題