Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/06/2007, 19:29
Computer XTress
 
Fecha de Ingreso: diciembre-2004
Mensajes: 721
Antigüedad: 20 años, 1 mes
Puntos: 2
Re: Eventos JS fuera del HTML (y la W3C)

Hola Maborak, grax por tu respuesta.

Sí, me di cuenta despues de que era HTML 3 y que los scripts estaban en "WebScript" y "VBScript", jeje :)

Finalmente di en el clavo... encontré muchisimas webs interesantes, pero esta fue la que más me sirvió

http://www.digital-web.com/articles/...d_structure_2/


Lo explico desde cero por si hay alguno que está en cero con este tema, tal vez le viene bien.

La idea es, usando javascript, identificar el elemento y luego asignarle una función a un evento. Este es un ejemplo rapido y vulgar, pero es el mejor para entender lo tan simple que resulta:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<script type="text/javascript" language="javascript1.2" src="scp.js"></script>

</head>

<body>

	<div id='txt' style='width: 200px; height: 200px; background-color: blue;' onclick="alert('hola');"></div>

	<script>
		var fnc = function onclick(event) {
			alert("hola");
		};

		document.getElementById('txt').onclick = fnc;
	</script>
</body>
</html>

Inicialmente yo intentaba cosas como: document.getElementById('txt').onclick = alert("Bravo, está funcionando!"); y no andaba bien, ejecutaba ese alert() cuando iniciaba la página. Eso es por que el contenido de elemento.onclick tiene que ser una función y no directamente un código (o algo así... :P).

Si le asignamos un onclick='' dentro de la etiqueta al elemento y luego hacemos alert del elemento.onclick, vemos esto:

function onclick(event) {
alert("hola");
}

Y bueno, el resto es deducción.


Ahora queda refinar un poco la metodología esta... por lo que veo en las webs todos hacen algo como: elemento.evento = variable; ó algo así... es decir, no escriben todo el chorizo de "function onclick(Event)...."

Veremos que encuentro!

Un saludo

Edu