¿Podría alguien explicar por qué 'esto' en los siguientes puntos al objeto DOM y no a la ventana?Valor de 'esto' en Javascript
$("a").click(function() {
console.log(this);
});
Esto produce a:
<a id="first" href="http://jquery.com">
considere lo siguiente que debe ser el mismo escenario:
function Foo() {
this.click = function(f) {
f();
}
}
var obj = new Foo();
obj.click(function() {
console.log(this);
});
Lo que tenemos aquí es el objeto de la ventana (lo que había esperado).
jQuery manipula 'this' donde sea necesario. – Blaster
Como de costumbre, el MDN tiene buena información sobre esto: https://developer.mozilla.org/en/DOM/element.addEventListener#The_value_of_this_within_the_handler – Niko
Creo que la persona a la que debe preguntar es John Resig, que es responsable del concepto como Hasta donde yo sé, creo que es obra suya. Créalo o no, pero él es [un miembro activo aquí] (http://stackoverflow.com/users/6524/john-resig) también. :) –