Foros del Web » Programando para Internet » Javascript »

Como dejar activo en onclick y que no me haga el onmouseover

Estas en el tema de Como dejar activo en onclick y que no me haga el onmouseover en el foro de Javascript en Foros del Web. Hola, tengo un problema con tres botones. Les tengo puestos tres estados a cada uno(onmouseover, onmouseout, onclick). Hacen un intercambio de imagen. El problema es ...
  #1 (permalink)  
Antiguo 10/03/2009, 09:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Como dejar activo en onclick y que no me haga el onmouseover

Hola, tengo un problema con tres botones.
Les tengo puestos tres estados a cada uno(onmouseover, onmouseout, onclick).
Hacen un intercambio de imagen.
El problema es que cuando hago onclick en me cambia la imagen, pero cuando suelto me hace el mouseout, y yo quiero que se quede fijo el onclick.
tendría que anular el onmouseout.
Alguien sabe como se hace esto?
Muchas gracias.
  #2 (permalink)  
Antiguo 10/03/2009, 09:39
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como dejar activo en onclick y que no me haga el onmouseover

Pues hay varias formas.
Una de ellas es tener un objeto que guarde el estado de cada botón, y luego que cada función compruebe el estado de ese botón antes de ejecutarse.
Algo como

Código javascript:
Ver original
  1. boton.onclick = function() {
  2.     boton.estoyEnOnclick = true;
  3.     // codigo
  4. };
  5.  
  6. boton.onmouseover = function() {
  7.     if (boton.estoyEnOnclick) {
  8.         return;
  9.     } else {
  10.         //codigo
  11.     }
  12. };

Otra forma puede ser almacenar las funciones en un objeto global, al estilo de

Código javascript:
Ver original
  1. funciones.mouseover = function() { ... };
  2. funciones.mouseout = function() { ... };
  3. funciones.click = function() { ... };
  4. funciones.nula = function() { return; };

Y luego asignarlas / desasignarlas a gusto:

Código javascript:
Ver original
  1. boton.onmouseover = funciones.mouseover;
  2. boton.onmouseout = funciones.mouseout;
  3.  
  4. boton.onclick = function() {
  5.     boton.mouseover = funciones.nula;
  6.     boton.mouseout = funciones.nula;
  7.  
  8.     // codigo
  9. }


Saludos.
  #3 (permalink)  
Antiguo 11/03/2009, 04:55
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Como dejar activo en onclick y que no me haga el onmouseover

Muchas gracias por tu ayuda, voy a probarlo ahora mismo!
  #4 (permalink)  
Antiguo 11/03/2009, 05:26
 
Fecha de Ingreso: febrero-2009
Mensajes: 77
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Como dejar activo en onclick y que no me haga el onmouseover

Gracias!!!!
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 06:19.