Foros del Web » Programando para Internet » Jquery »

Como aislo evento jquery?

Estas en el tema de Como aislo evento jquery? en el foro de Jquery en Foros del Web. Hola muy buenas he hecho este script: Código: function verHeroe(heroe) { if (heroe < 1) return; $(document).ready(function() { $("li").mouseover(function() { $(".on").removeClass("on"); $(this).addClass("on"); }); }); procesarHeroe(LH[heroe]); ...
  #1 (permalink)  
Antiguo 09/04/2012, 10:01
Avatar de Radi30  
Fecha de Ingreso: abril-2012
Mensajes: 26
Antigüedad: 12 años, 8 meses
Puntos: 0
Como aislo evento jquery?

Hola muy buenas
he hecho este script:
Código:
function verHeroe(heroe) {
    if (heroe < 1) return;
    $(document).ready(function() {
        $("li").mouseover(function() {
            $(".on").removeClass("on");
            $(this).addClass("on");
        });
    });
    procesarHeroe(LH[heroe]);
}
la cosa es que se aplica a todos los <li> y yo quiero que se aplique solo a los que hagan la llamada del script verHeroe()

los <li> que quiero que tengan la clase .on son estos:
Código:
<li><a href="#" onmouseover="verHeroe(2, this);"><img src="heroes/2/icono.jpg"></a></li>
  #2 (permalink)  
Antiguo 09/04/2012, 11:01
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 9 meses
Puntos: 192
Respuesta: Como aislo evento jquery?

Ese código está bastante mal. No tiene mucho sentido usar jQuery y además eventos inline. Además, estás usando $(document).ready() cada vez que se pasa el mouse por el elemento.

Yo haría algo así:

Código Javascript:
Ver original
  1. $(function(){
  2.     $('li a.mostrar-heroe').hover(function(){
  3.         var heroe = $(this).data('heroe');
  4.         if (heroe < 1) return;
  5.         $(".on").removeClass("on");
  6.         $(this).addClass("on");
  7.         procesarHeroe(LH[heroe]);
  8.     });
  9. });


Código HTML:
Ver original
  1. <li><a href="#" class="mostrar-heroe" data-heroe="2"><img src="heroes/2/icono.jpg"></a></li>

No se si funciona porque lo hice sin probar, pero debería. De todas formas la idea se entiende.
  • Usás una clase para identificar los elementos que realizan la acción.
  • Usás el atributo data-heroe para almacenar a qué heroe hace referencia.
  • Llamás $(document).ready() solo una vez.
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 09/04/2012, 22:16
Avatar de Radi30  
Fecha de Ingreso: abril-2012
Mensajes: 26
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Como aislo evento jquery?

hummm voi a probarlo muchas gracias
PD: se me olvido decir que estoi aprendiendo javascript y todo esto en estos dias. Disculpa si era un error obvio

gracias y ya publicare los resultados jeje

saludos
  #4 (permalink)  
Antiguo 11/04/2012, 10:20
Avatar de Radi30  
Fecha de Ingreso: abril-2012
Mensajes: 26
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Como aislo evento jquery?

Oye pues lo he probado y no se porque... pero no va, no logro encontrar el error
porcierto no conocia el atributo data... empece a leer a raiz de lo que me contestaste y... que util! jaja

saludos

Etiquetas: javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.