2010-06-04 84 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); 
}