Tutoriales de jQuery

Febrero 16th, 2010 by jQuery | Posted under plugins.

Vamos a ejecutar un alert e imprimir la URL cuando se haga click en cualquier enlace… pero ¿como hago referencia al href del enlace? Con el objeto ‘this’

[cc lang='javascript' ]$("a").bind("click", function(e) {
    alert("Marchando una de " + this.href);
});[/cc]

Ahora bien, hay casos en los que interesa asignar el manejador a un elemento hijo al que queremos manipular, por ejemplo, para tratar con celdas de una tabla

[cc lang='javascript' ]$("table tbody td").bind("click", function(e) {...});[/cc]

podemos asignar el manejador a su padre, ahorrando asi­ la iteracion por las choricientas celdas de la tabla para asignar eventos (dicha iteración existe, aunque tu no la veas).

[cc lang='javascript' ]$("table tbody").bind("click", function(e) {});[/cc]

En este caso `this` ya no nos resulta util  para acceder al elemento sobre el que _se ha actuado_ usamos la propiedad `target` del objeto que representa el evento. Para dar con la celda, basta con usar `parents`:

[cc lang='javascript' ]$("table tbody").click(function(e) {
   var t = $(e.target); 
  (t.is("td") ? t : t.parents("td")).toggleClass("selected");
});[/cc]

Have any comments?

Spam Protection by WP-SpamFree Plugin