2010-12-14 59 views
1

我有很多html項目,如選擇,文本框,單選按鈕,複選框的大表。我也有一些功能。我想在項目的每一個變化上調用這個函數。例如選擇已更改,或者文本框中有一些文本類型,或者單擊單選按鈕。我如何只需訂閱並打電話給我的js功能?我可以在任何項目中插入每個變化狀態調用js腳本

平變化= '功能()'

而是可以jquery的允許更多simly方式?任何樣品?

回答

8

jQuery的.change()活動將爲所有類型的輸入元素的工作。

但求效益,如果你有很多的元素,你可能想看看.delegate()

$('body').delegate('input', 'change', function() { 
    // in here, $(this) is the input that has changed 
}); 

委派是更有效,因爲它創建只有一個處理程序,並利用事件冒泡的。

0

在JQuery中,您可以對要更改的項目使用.click()事件。例如:

$("#the-element").click(function(){ 

//Enter your function here 

}); 

希望有所幫助!

+0

.focus()事件也可能用於觀察元素中的東西何時發生。 – 2010-12-14 05:16:03

0

您可以使用jQuery selector來包裝所有您希望附加事件的項目。然後,在該包裝器上使用bind方法來附加事件。

一個例子:

$('input').bind({ 
    click: function() { 
    // do something on click 
    }, 
    mouseenter: function() { 
    // do something on mouseenter 
    } 
});