将onclick属性附加到jquery对象; $(this)引用window对象而不是特定的jquery对象

时间:2012-11-15 16:29:43

标签: jquery events onclick

function df(){
 $(this).text('hello world');
}

bn.attr('onclick','df();');

我的问题是$(this)引用了jquery window对象而不是jquery对象bn

如何在我的函数bn中获得df的动态参考?

2 个答案:

答案 0 :(得分:3)

请勿使用onclick属性。使用.click()方法:

bn.click(df);

.on()方法(jQuery 1.7+)或.bind()(旧版本):

bn.on("click", df);

请注意,函数标识符后面没有没有调用括号。您需要传递对函数的引用,而不是函数的返回值。

答案 1 :(得分:0)

试试这个

bn.on('click' , df); // Instead of onclick

您需要将函数指针而不是函数传递给DOM,以使this处于您期望的上下文中。