Könnte jemand bitte erklären, warum 'this' in den folgenden Punkten auf das DOM-Objekt und nicht auf Window? Wert von 'this' in Javascript
$("a").click(function() {
console.log(this);
});
Daraus ergibt sich zu:
<a id="first" href="http://jquery.com">
Folgendes berücksichtigen, die das gleiche Szenario sein sollte:
function Foo() {
this.click = function(f) {
f();
}
}
var obj = new Foo();
obj.click(function() {
console.log(this);
});
Was wir bekommen ist hier das Window-Objekt (was ich erwartet hatte).
jQuery manipuliert 'dieses' wo nötig. – Blaster
Wie üblich, das MDN hat einige gute Informationen dazu: https://developer.mozilla.org/en/DOM/element.addEventListener#The_value_of_this_within_the_handler – Niko
Ich denke, die Person, die Sie fragen sollten, ist John Resig, der für das Konzept als verantwortlich ist soweit ich das beurteilen kann - ich glaube es ist sein Tun. Ob Sie es glauben oder nicht - aber er ist [ein aktives Mitglied hier] (http://stackoverflow.com/users/6524/john-resig). :) –