2012-06-27 65 views
1

這是設置我的事件來調用函數的方式嗎?從事件中設置函數調用的正確方法?

我有這樣的的document.ready

$(document).on('change', "[data-viewlink]", 
    function() 
    { 
     UpdateViewLink($(this).attr("id")); 
    } 
); 

UpdateViewLink()功能由function()包圍。這是一個單一的電話,我想知道是否需要function(){}。這是設置這個的正確方法嗎?

我還致電UpdateViewLink()從正常功能。

+0

你打算將什麼傳遞到UpdateViewLink? –

+0

取決於UpdateViewLink的實現。如果你不使用閉包,你不能傳遞參數給它(jQuery提供的'this'除外)。 – millimoose

回答

3

如果您確實想將ID作爲參數傳遞給UpdateViewLink,那麼這是必需的。

但是,您可以使用它代替:

$(document).on('change', "[data-viewlink]", UpdateViewLink); 

改變的元素的ID將可裏面UpdateViewLinkthis.id。這取決於您是否可以修改UpdateViewLink,或不。

+1

另外,避免'$(this).attr(「id」)'。沒有必要創建一個新的jQuery對象來訪問id,它可以在任何DOM節點上直接以'this.id'方式訪問。 – bfavaretto

相關問題