【发布时间】:2012-07-02 07:52:03
【问题描述】:
有人能解释一下为什么下面的“this”指向 DOM 对象而不是 Window 吗?
$("a").click(function() {
console.log(this);
});
这会产生:
<a id="first" href="http://jquery.com">
考虑以下应该是相同的场景:
function Foo() {
this.click = function(f) {
f();
}
}
var obj = new Foo();
obj.click(function() {
console.log(this);
});
我们在这里得到的是 Window 对象(我所期望的)。
【问题讨论】:
-
jQuery 在需要的地方操作
this。 -
像往常一样,MDN 对此有一些很好的信息:developer.mozilla.org/en/DOM/…
-
我认为你应该问的人是 John Resig,据我所知,他负责这个概念 - 我相信这是他做的。信不信由你——但他也是an active member here。 :)
标签: javascript jquery this