Foros del Web » Programando para Internet » Javascript »

¿IMG y ONCLICK?

Estas en el tema de ¿IMG y ONCLICK? en el foro de Javascript en Foros del Web. ¡Hola! Tengo lo siguiente: Código HTML: <img src= "blablabla" onclick= "funcion();" /> A mi entender, debería ejecutarse funcion() cuando haga click dentro de la imagen, ...
  #1 (permalink)  
Antiguo 07/06/2011, 04:53
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta ¿IMG y ONCLICK?

¡Hola!

Tengo lo siguiente:
Código HTML:
<img src="blablabla" onclick="funcion();" /> 
A mi entender, debería ejecutarse funcion() cuando haga click dentro de la imagen, pero no se inmuta. También he probado poniendo código tal cual, por ejemplo probé lo siguiente:

Código HTML:
<img src="blablabla" onclick="alert('hola');" /> 
Pero tampoco salta el alert(). ¿Estoy haciendo algo mal?

Lo estoy probando bajo el navegador Chrome v11.0.696.77 (la última de día de hoy)

¡Gracias!

Actualizo: No lo he dicho, pero esa etiqueta <img> se genera a partir de JavaScript, es decir:

Código HTML:
Ver original
  1. document.write('<img src="blablabla" onclick="funcion();" />');

He comprobado que poniendo la imagen a pelo en el HTML sí que funciona, entonces la pregunta es: ¿No debería funcionar también en teoría generando la etiqueta con JavaScript?

¡Gracias!

Última edición por dersir; 07/06/2011 a las 05:10
  #2 (permalink)  
Antiguo 07/06/2011, 05:58
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: ¿IMG y ONCLICK?

Aparentemente la asignación del evento onclick no se registra al insertar un elemento de esa forma.

De esta forma más larga parece funcionar:
Código Javascript:
Ver original
  1. var img = document.createElement('img');
  2. img.src = "http://www.google.com/images/logos/ps_logo2.png";
  3. img.onclick = function(){alert('Hola');};
  4. document.getElementById('ejemplo').appendChild(img);
__________________
nahueljose.com.ar
  #3 (permalink)  
Antiguo 07/06/2011, 09:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ¿IMG y ONCLICK?

Cita:
Iniciado por Naahuel Ver Mensaje
Aparentemente la asignación del evento onclick no se registra al insertar un elemento de esa forma.

De esta forma más larga parece funcionar:
Código Javascript:
Ver original
  1. var img = document.createElement('img');
  2. img.src = "http://www.google.com/images/logos/ps_logo2.png";
  3. img.onclick = function(){alert('Hola');};
  4. document.getElementById('ejemplo').appendChild(img);
Hola, sí que pensé también a través del DOM pero tampoco me funciona, he probado con img.onclick = "funcion()" y no me funciona, tampoco con img.setAttribute ni con img.addEventListener, vaya problema tonto y lo que me está complicando la vida xD En fin, seguiré intentando, gracias :)
  #4 (permalink)  
Antiguo 07/06/2011, 10:38
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: ¿IMG y ONCLICK?

Raro porque ese ejemplo que te pasé sí me funciona. Al menos en Chrome, donde lo probé.
__________________
nahueljose.com.ar
  #5 (permalink)  
Antiguo 07/06/2011, 10:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: ¿IMG y ONCLICK?

Hola, dersir.

El ejemplo de Naahuel también funciona en Firefox.

¿Te sale algo en la consola de errores?

Saludos,
  #6 (permalink)  
Antiguo 07/06/2011, 11:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: ¿IMG y ONCLICK?

buenas...

@dersir, el problema debe ser otro. la propuesta inicial (document.write) funciona correctamente, al igual que la de @naahuel. la de document.write lo comprobe en chrome 11.0.696.65. revisa la consola de error, quizas obtengas mas informacion de que anda mal.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 09/06/2011, 05:16
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: ¿IMG y ONCLICK?

Hola a todos, ya encontré el problema y es de lo más absurdo. Lo digo por si a alguien alguna vez le pasase lo mismo.

El problema es que esa imagen está dentro de una etiqueta <section>. Si se crea dentro de esta etiqueta el evento no tiene efecto, pero en cuanto la he sacado todo ha ido con normalidad. Es curioso...incluso poniendo la etiqueta <img> a pelo sin JavaScript no funciona dentro del <section> (¿Quizás el <section> queda como una capa por encima de todo lo demás interceptando los clicks?)

¡Gracias a todos por vuestras respuestas!
  #8 (permalink)  
Antiguo 09/06/2011, 05:44
 
Fecha de Ingreso: agosto-2010
Mensajes: 56
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Respuesta: ¿IMG y ONCLICK?

Perdón, afino un poco más: no es por eso exactamente. Es porque la imagen está en un contenedor (he cambiado el <section> por un <div> y el problema sigue) que tiene un z-index negativo y una posición relativa. Sólo si los dos atributos están presentes se produce el fallo.

Por ejemplo, esto SÍ funciona:
<div>
<img src="imagen" onclick="lol();"/>
</div>

Y esto NO funciona:
<div style="z-index: -1; position: relative;">
<img src="imagen" onclick="lol();"/>
</div>

Espero que le sirva a alguien más, me ha llevao un rato de paranoya minuciosa jeje

¡Un saludo!

Última edición por dersir; 09/06/2011 a las 05:53

Etiquetas: evento, img, onclick
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 04:55.