2010-06-04 126 views
7
$(document).ready(function() { 
    function GetDeals() { 
    alert($(this).attr("id")); 
} 

$('.filterResult').live("click", function(event) { 
    GetDeals(); 
}); 

});

我需要在函數GetDeals()中作爲參數傳遞什麼,以便我可以使用$(this)來操作?

在此先感謝!

回答

14

你可以只使用功能的事件句柄:

$('.filterResult').live("click", GetDeals); 

(請注意,您不使用()調用的函數,因此函數本身被傳遞到live()功能,不是它的結果。

或者你可以使用Function.prototype.apply()

$('.filterResult').live("click", function(event) { 
    GetDeals.apply(this); 
}); 
+1

謝謝,兩種解決方案工作:) – 2010-06-04 08:19:10

4

上述溶液的作品,絕對沒有問題 接着就,隨即。不過,我相信這裏的一個更好的模式是:

$('.filterResult').live("click", function(event) { 
    GetDeals($(this)); 
}); 


function GetDeals(linkObj) { 
    var id = $(linkObj).attr("id"); 
    console.log(id); 
}