2012-11-22 63 views
0

我有一個複雜的方法綁定到頁面上的所有輸入。然而,有時候,輸入會動態地添加到頁面中,因此無法使用相同的方法。我認爲,通過將事件綁定到變量,並在添加到頁面時使用附加輸入來更新變量,我可以變得更聰明。jQuery避免重新綁定元素添加到頁面

I.e.

inputs.click(function(){ // stuff }); 

// add inputs to page 

inputs = $('input'); 

有沒有一種偷偷摸摸的方式來做到這一點? OBV我可以將整個shebang ($('input').click()...)放在一個函數中,並以這種方式重新初始化...但肯定有更好的方法嗎?

回答

1

你必須將事件綁定到那些已經在頁面上所以使用on()並綁定到的動態輸入已經存在的頁面上,如窗體本身最近的祖先元素:

$('form').on('change', 'input', function() { 
    // do something 
}); 

第一個字符串是一個以空格分隔的事件列表,其中第二個是用於標識事件目標的jQuery選擇器(如果不是form本身)。

參考文獻:

+0

各種各樣的贏在這裏 – technopeasant

相關問題