[jQuery-es] Pequeña duda sobre ámbito de variables
Choan C. Gálvez
choan.galvez en gmail.com
Vie Ene 26 13:15:44 PST 2007
On 1/25/07, David Arango <arango en gmail.com> wrote:
> Hola chicos,
>
> Tengo este cacho de código:
>
> $('ul#products_list li a.remove').click(function() {
> var source = this;
> $.get(this.href, function(data) { $(source.parentNode).remove(); });
> return(false);
> });
>
> Se que esto es una pregunta de tío histérico, pero tengo que hacerla.
> ¿Puedo acceder a 'this' desde la función anónima sin tener que hacer
> esa asignación tan fea ('var source = this')?
Mm, no a `this` (que sí tienes acceso, aunque es otra cosa) pero sí al
elemento que ha desencadenado el evento:
$("#bla").click(function(e) {
$.get(this.href, function(d) { $(e.target.parentNode).remove(); };
e.preventDefault();
};
Ojito: `e.target` es el elemento sobre el que se ha actuado, que no
necesariamente corresponde con el elemento al que se ha asignado el
evento (burbujeo y esas cositas). Si no hay elementos dentro del
enlace, esto te servirá. De lo contrario, tendrías que buscar el
enlace entre sus padres.
Salú.
--
Choan
<http://choangalvez.nom.es/>
Más información sobre la lista de distribución jquery-es