Foros del Web » Programando para Internet » Javascript »

Desactivar imágenes con evento onClick

Estas en el tema de Desactivar imágenes con evento onClick en el foro de Javascript en Foros del Web. Hola amig@s; iremos al grano: Tengo una imagen con un evento onClick, que quiero poder habilitar y deshabilitar y esto creo que se hace con ...
  #1 (permalink)  
Antiguo 20/04/2006, 03:18
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 6 meses
Puntos: 4
Pregunta Desactivar imágenes con evento onClick

Hola amig@s; iremos al grano:


Tengo una imagen con un evento onClick, que quiero poder habilitar y deshabilitar y esto creo que se hace con la propiedad disabled. Aquí teneis el código bastante simplificado para no desviarnos de la cuestión principal.
Código HTML:
<html>
<head>
<script>
avanzar.src="/figuras/avanzar.gif";
document.images['avanzar1'].src=avanzar.src;
document.images['avanzar1'].disabled=true;
function Prueba()
{
alert("está activo");
}
</script>
</head>
<body>
<img name="avanzar1" src="" onClick="javascript:Prueba();">
</body>
</html> 
Esto no me funciona, y continua llamando a la función, a pesar de haberle dicho disabled=true;

¿Que hago mal?

Gracias.
  #2 (permalink)  
Antiguo 20/04/2006, 03:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

disabled sirve en elementos de formulario, lo que podrías poner algo detrás de tu prueba()...

<img name="avanzar1" src="" onclick="Prueba();this.onclick = ''">

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 20/04/2006, 03:34
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 6 meses
Puntos: 4
Gracias Caricatos por al pronta respuesta... pero no acabo de entender eso de poner algo detrás.

onclick="Prueba();this.onclick = ''" ¿Que pongo dos eventos?¿el segundo es un evento vacio, o llamará a un función que deshabilite?

Estoy un poco verde con el javascript, así que disculpa las molestias, y por supuesto, GRACIAS.
  #4 (permalink)  
Antiguo 20/04/2006, 03:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola forecast

Veo que caricatos (¡Hola! ) no anda ahora por aquí, así que voy a coger el relevo.

En un evento puedes poner todas las llamadas a función que necesites, separadas por punto y coma. Lo que hace this.onclick = '' es "redefinir" el evento onclick de la imágen para que no haga nada, es como si lo desactivaras.

Saludos,
  #5 (permalink)  
Antiguo 20/04/2006, 04:06
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 6 meses
Puntos: 4
Hola JavierB; Gracias a ti también:

sustituí los eventos del onclick por esto

onclick="javascript:Prueba();this.onclick =' ';"

Pero el botón sigue estando activo, es decir sigue llamando a Prueba... además, no se me ocurre despues como activarlo de nuevo (con lo fácil que era todo con el enabled=true o enabled=false :_(

Sigo sin entender.

Gracias por vuestra paciencia...
  #6 (permalink)  
Antiguo 20/04/2006, 04:36
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Copia este código:

Código:
<html>
<body>
<div onclick="alert(this.id); this.onclick = ''" id="x">pinchar</div>

<div onclick="document.getElementById('x').onclick = function(x){alert(this.id); this.onclick = ''}" id="y">restaurar</div>

</body>
</html>
En mi archiconocido probador de scripts: http://www.pepemolina.com/probador/

... y fíjate en los resultados...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 20/04/2006, 16:31
Avatar de forecast  
Fecha de Ingreso: octubre-2004
Mensajes: 259
Antigüedad: 19 años, 6 meses
Puntos: 4
Oh rey!!!!

Muy jefe.

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 20:04.