我写一些jQuery代码,如下所示:
$('.button').each(function(){
$(this).click(function(){
console.log($(this));
do_sth();
});
});
var do_sth = function(){
console.log($(this));
}
我希望console.log结果相同,但是工作不正确...第一个引用HTMLElement,但是第二个引用DOMWindow ...
如何重写do_sth函数以使它们全部引用HTMLElement?
谢谢。
最佳答案
你可以做...
do_sth.call(this);
另外,您可以使用jQuery的
proxy()
方法。$.proxy(do_sth, this)();
jsFiddle。