如何在事件绑定语句中将“this”发送给命名函数?

时间:2011-07-31 22:22:01

标签: javascript jquery javascript-events

基本上,我有点卡住,不知道是否有可能转向

$("#id").click(function(){  
    var that = jQuery(this);  
    wildFunction(that);
});  

$("#id").click(wildFunction(this));

3 个答案:

答案 0 :(得分:3)

“this”是一个范围变量,因此无论您如何绑定它,它都将出现在事件处理程序中。所以这会奏效:

$("#id").click(wildFunction);

function wildFunction()
{
    var that = $(this); // this is valid here, and we can make jQuery object with it
}

答案 1 :(得分:1)

不,你不能这样做 - 或者更确切地说,你可以,但它没有用。你需要在那里有那个函数语法。在您的第二个代码示例中,this将是代码调用 click中的任何内容,我假设您从第一个代码示例中想要它是{ {1}} jQuery为事件处理程序设置。

答案 2 :(得分:1)

不,但你可以使用

$("#id").click( wildFunction );

并在wildFunction方法this内部将引用#id DOM元素。