miércoles, 15 de julio de 2015

Capítulo 32: Entender los gestores de eventos


Contenido:
¿Qué hacen los Eventos? ¿Qué código necesitamos? Nuestro programa debe poder detectar los eventos y disparar una acción; Los eventos más comunes son desencadenados por el usuario; Eventos inline; Separar Código HTML y Código JavaScript. Uso de getElementbyID.

Un evento significa que algo pasa. Nuestro programa debe poder detectarlos. Los eventos más comunes son acciones del usuario (como por ejemplo click con el ratón) aunque otros pueden ser disparados por el propio navegador (por ejemplo onload cuando se termina de cargar una página).

Un gestor de eventos detecta cuando se produce un evento y decide qué acción debe llevarse a cabo como respuesta. Por ejemplo, en código HTML hay algunos gestores de eventos denominados inline:

onmouseover: detecta cuando el cursor está sobre un objeto
onmouseout: detecta cuando el cursor abandona un objeto
onclick: cuando se hace click sobre un objeto

<input type="button" value="pulsar" onclick="miFunción()" />

Uno de los problemas de estos gestores inline es que mezclan código HTML y código Javascript.

Podemos incluir el gestor de evento dentro del código JavaScript con getElementById(). Por ejemplo:

<body>
        <input type="button" id="miBoton" value="pulsar" " />
    <script>
           function alertaBoton(){
           alert("Has pulsado el botón");
       }
           document.getElementById("miBoton").onclick = alertaBoton;
    </script>
</body>

Notas:
  1. Al evento se le asigna la definicion de la función, no la llamada, así que no lleva ()
  2. Es importante tener claro siempre el orden en el que se va a ejecutar el código Javascript.

Se puede envolver el código del gestor de eventos en window.onload = function() {.....} para que no se ejecute hasta que se haya cargado completamente el documento.

window.onload = function() {
               document.getElementById("miBoton").onclick = alertaBoton;
       }

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.