2009-02-04 94 views
16

我有一個輸入元素,我想綁定與輸入的更改和按鍵事件,但事件處理代碼是相同的兩個事件。有沒有這樣做的簡短方式,而不是寫兩次相同的代碼。好了,我可以寫一個方法,但想看看是否有這樣做將相同的事件處理代碼附加到jquery中的多個事件

$("#inpt").change(function(){ 
    some code 
}); 

$("#inpt").keypress(function(){ 
    same code 
}); 

的任何簡單的辦法是有什麼辦法可以綁定兩個事件?

回答

39

您可以在方法中使用的jQuery的。

$("#inpt").on("change keypress", function() { 
    code 
}); 
+1

謝謝,那就是我在找的東西。 – 2009-02-04 03:50:03

6

可以保存功能,並將其綁定到這兩個:

var fn = function(){ /*some code*/ }; 
$("#inpt").change(fn).keypress(fn); 
1

您還可以使用,而不是「綁定」的「直播」事件一個sugested。 '活'事件將涵蓋甚至動態創建的元素。 (棄用上1.7)

Kaless1n和Matthew,結合多個元件使用「屬性開頭字符選擇器」:

var fn = function() { /*some code*/ }; 

$('input[id^="foo_"]').click(fn).keyup(fn).keydown(fn); 

這將結合到所有「輸入」元素,其中的「id」開始與'foo_'。例如,您可以將'input'更改爲任何onther元素和/或帶'name'屬性的'id'。

相關問題