Czy ktoś mógłby wyjaśnić, dlaczego "to" w następujących punktach do obiektu DOM, a nie do okna?Wartość "this" w JavaScript
$("a").click(function() {
console.log(this);
});
Daje do:
<a id="first" href="http://jquery.com">
Rozważmy następujący który powinien być taki sam scenariusz:
function Foo() {
this.click = function(f) {
f();
}
}
var obj = new Foo();
obj.click(function() {
console.log(this);
});
Co mamy oto obiektu window (czego się spodziewałem).
jQuery manipuluje 'tym' w razie potrzeby. – Blaster
Jak zwykle, MDN ma kilka dobrych informacji na ten temat: https://developer.mozilla.org/en/DOM/element.addEventListener#The_value_of_this_within_the_handler – Niko
Myślę, że osobą, którą powinieneś zapytać jest John Resig, który jest odpowiedzialny za koncepcję jako o ile mogę powiedzieć - uważam, że to jego działanie. Wierzcie lub nie - ale on jest również [aktywnym członkiem tutaj] (http://stackoverflow.com/users/6524/john-resig). :) –