Foros del Web » Programando para Internet » Javascript »

Eventos en Javascript

Estas en el tema de Eventos en Javascript en el foro de Javascript en Foros del Web. Buenas, tengo un problema con este script en la mayoría de los navegadores (en Chrome me funciona) El problema esta en que no se me ...
  #1 (permalink)  
Antiguo 22/12/2011, 04:00
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Pregunta Eventos en Javascript

Buenas, tengo un problema con este script en la mayoría de los navegadores
(en Chrome me funciona)
El problema esta en que no se me inicia el evento onClick (ningún evento me funciona)

window.onload=iniciar;

function iniciar()
{
document.write("<img src='imagenes/1.jpg' onClick='iniciar2();' alt='Imagen' />");
}

function iniciar2()
{
alert("Hola");
}

Gracias de Antemano
Saludos
  #2 (permalink)  
Antiguo 22/12/2011, 06:35
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 6 meses
Puntos: 1012
Respuesta: Eventos en Javascript

el problema es que document.write sobre escribe todo el contenido. por lo tanto has de usar document.getElementById('foto').innerHTML
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 22/12/2011, 12:26
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Respuesta: Eventos en Javascript

Gracias por contestar IsaBelM

La cuestión es que, quiero crear casi todo el html desde javascript y por eso añado esa linea

Y al no tener en la página principal (.html) la linea <img src="imagenes/1.jpg" id="imagen" /> , ese código no me va a funcionar

Saludos
  #4 (permalink)  
Antiguo 22/12/2011, 12:51
Avatar de Dnielf  
Fecha de Ingreso: diciembre-2008
Ubicación: 127.0.0.1
Mensajes: 72
Antigüedad: 16 años
Puntos: 14
Respuesta: Eventos en Javascript

No te va a funcionar el evento onClick porque solo estás escribiendo el elemento mas no lo agregas al DOM, en realidad tienes que crearlo así :

Código:
var img = document.createElement("img");
img.src = "imagenes/1.jpg";
img.onclick = inicar2();
img.setAttribute("alt","Imagen");
document.body.appendChild(img);
  #5 (permalink)  
Antiguo 22/12/2011, 13:27
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 meses
Puntos: 187
Respuesta: Eventos en Javascript

perdon por el offtopic, pero no creo que "document.write" se la forma de crear un documento en javascript
  #6 (permalink)  
Antiguo 22/12/2011, 13:43
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Eventos en Javascript

Como ya te han dicho, si haces document.write, estás eliminando todo el código de la página, <HTML><HEAD><SCRIPT><BODY>, etc, escribiendo sólo el <IMG...>, asi que cuando se dispare su onclick, obviamente no encontrará nada.

La solución es usar, por ejemplo:
Código HTML:
<html>
	<head>
		<title>Prueba</title>

		<script>
			
			function inicio(){
				var img=new Image();
				img.width=100;
				img.height=100;
				img.onclick=inicio2;
				document.body.appendChild(img);
			}
			function inicio2(){
				alert("funciona");
			}
		</script>
	</head>

	<body onload="inicio();">
		
	</body>
</html> 
  #7 (permalink)  
Antiguo 22/12/2011, 16:10
 
Fecha de Ingreso: diciembre-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Respuesta: Eventos en Javascript

Dnielf y marlanga

Muchísimas Gracias

Etiquetas: eventos
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 13:32.