Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2016, 14:18
Avatar de eduardobrutaldeath
eduardobrutaldeath
 
Fecha de Ingreso: agosto-2013
Ubicación: América
Mensajes: 306
Antigüedad: 10 años, 8 meses
Puntos: 3
Anular efecto Hover al hacer click en un botón

Hola a todos.

Necesito ayuda por favor con un "problema" que no puedo resolver hace horas.

Quiero que, al pasar el cursor por un botón blanco, éste cambie a negro, y al sacarlo, regrese a blanco, pero además, que cuando le de click el botón cambie a rojo, y al darle otro click, retorne a blanco.... ¿Parece sencillo no?.. Yo también pensé lo mismo.. Tal vez para ustedes sí sea fácil, por eso posteo.

AQUÍ MI CÓDIGO DE EJEMPLO :

Código HTML:
Ver original
  1. <div>
  2. BOTÓN
  3. </div>

Código Javascript:
Ver original
  1. /*HOVER*/
  2. $( 'div' ).hover( function (  ) {
  3.  
  4.  $( this ).css( 'background', '#000' ) ;
  5.  
  6. }, function (  ) {
  7.  
  8.  $( this ).css( 'background', '#fff' ) ;
  9.  
  10. } ) ;
  11.  
  12. /*CLICK*/
  13. $( 'div' ).click( function (  ) {
  14.  
  15.  $( this ).css( 'background', '#f00'  ) ;
  16.  
  17. } ) ;

Todo bien cuando hago hover ; al entrar el botón cambia a negro y al salir regresa a blanco. Todo bien también cuando hago click ( el elemento se pinta de rojo ). El problema viene cuando salgo del botón, pues como el efecto hover está activado, el color rojo del botón cambia a blanco, y la idea es que se quede en rojo hasta que lo pinche otra vez, y nuevamente retorne a blanco.

No se me ocurre ninguna forma para desactivar el hover. He probado con condicionales, deteniendo animaciones, y nada. No sé qué me pasa hoy ; creo que, de estar tantas horas intentando e intentando ya me aburrí, y no tengo ganas de seguir...
Ojalá me puedan ayudar.