是否有人可以解释为什么'this'指向DOM Object而不是Window?Javascript中的'this'的值
$("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'。 – Blaster
像往常一样,MDN有这方面的一些很好的信息:https://developer.mozilla.org/en/DOM/element.addEventListener#The_value_of_this_within_the_handler – Niko
我认为你应该问的人是John Resig,他负责这个概念,据我所知 - 我相信这是他的做法。相信与否 - 但他是[此处的活跃成员](http://stackoverflow.com/users/6524/john-resig)。 :) –