Pregunta

alguien me puede ayudar con esto

Estoy tratando de establecer un color diferente para el elemento del evento de clic.

El problema es que el evento mouseover hace que todo sea blanco de nuevo. Por lo tanto, nunca llegar a ver el color de la clase activa (actief).

¿Qué podía hacer, ya try'd poner en la propagación de línea stopevent () ??

gracias, Richard

$("#tbestel_opties2 span").live("mouseover", function() {
            $t=$(this);
            if(!$t.hasClass('actief')){

                $t.css({'color':'#fff','backgroundColor':'#fdc601'}); 
            }
        });
        $("#tbestel_opties2 span").live("mouseout", function() {
                $t=$(this);
                if(!$t.hasClass('actief')){
                $t.css({'color':'#333','backgroundColor':'#fdc601'});                                                                          }
        });

        $("#tbestel_opties input,#tbestel_opties2 span").live("click", function(e)
        {e.stopPropagation(); 
            $t=$(this);
              $('#tbestel_opties2 .actief').removeClass("actief").css({'color':'#333'});

             $t.addClass("actief")

            $("#opties li:eq(0)").addClass("actief");


    }); 
¿Fue útil?

Solución

Utilice una clase en su lugar. Cuando se hace clic en un elemento, agregar otra clase al elemento. Asegúrese de que esta clase no se establece antes de hacer nada en mouseover / out. Esto también tiene la ventaja de permitir que se mueva el estilo de los elementos encajó en su CSS si lo desea.

Otros consejos

Esa función de parada de propagación detiene el comportamiento predeterminado del evento de clic y no tiene que ver con el ratón encima.

Cambiar el uso del selector de CSS para una función addClass que se corresponde con los cambios de estilo CSS, podrás conseguir el orden de los acontecimientos que usted está buscando.

No a la lluvia en el desfile de jQuery, pero ¿por qué no usar el:? Ciernen clase pseudo

probar esto en su evento mouseover:

var currentColor = $(this).css("background-color");
jQuery.data($(this).get(0), "basecolor", currentColor);

que almacena los metadatos con el elemento. A continuación, puede leer ese valor en el evento de clic

var currentColor = jQuery.data($(this).get(0), "basecolor");
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top