Con javascript podemos definir qué es lo que pasa cuando se produce un evento como podría ser que un usuario pulse sobre un botón, edite un campo de texto o abandone la página. El manejo de eventos es el caballo de batalla para hacer páginas interactivas, porque con ellos podemos responder a las acciones de los usuarios.
Hasta ahora en este manual hemos podido ver muchos
ejemplos de manejo de uno de los eventos de Javascript, el evento onclick, que
se produce al pulsar un elemento de la página. Hasta ahora siempre hemos
aplicado el evento a un botón, pero podríamos aplicarlo a otros elementos de la
página.
- Cómo se define un evento
Por
ejemplo tenemos el manejador de eventos onclick, que sirve para describir
acciones que queremos que se ejecuten cuando se hace un click. Si queremos que
al hacer click sobre un botón pase alguna cosa, escribimos el manejador onclick
en la etiqueta <INPUT type=button> de ese botón. Algo parecido a esto.
<INPUT type=button
value="pulsame" onclick="sentencias_javascript...">
Se
coloca un atributo nuevo en la etiqueta que tiene el mismo nombre que el
evento, en este caso onclick. El atributo se iguala a las sentencias Javascript
que queremos que se ejecuten al producirse el evento.
Cada
elemento de la página tiene su propia lista de eventos soportados, vamos a ver
otro ejemplo de manejo de eventos, esta vez sobre un menú desplegable, en el
que definimos un comportamiento cuando cambiamos el valor seleccionado.
<SELECT
onchange="window.alert('Cambiaste la selección')">
<OPTION value="opcion1">Opcion 1
<OPTION value="opcion2">Opcion 2
</SELECT>
<OPTION value="opcion1">Opcion 1
<OPTION value="opcion2">Opcion 2
</SELECT>
En
este ejemplo cada vez que se cambia la opción muestra una caja de alerta.
Dentro de los manejadores de eventos podemos colocar tantas instrucciones como
deseemos, pero siempre separadas por punto y coma. Lo habitual es colocar una
sola instrucción, y si se desean colocar más de una se suele crear una función
con todas las instrucciones y dentro del manejador se coloca una sola
instrucción que es la llamada a la función.
Vamos
a ver cómo se colocarían en un manejador varias instrucciones.
<input
type=button value=Pulsame
onclick="x=30; window.alert(x);
window.document.bgColor = 'red'">
Son
instrucciones muy simples como asignar a x el valor 30, hacer una ventana de
alerta con el valor de x y cambiar el color del fondo a rojo.
Sin
embargo, tantas instrucciones puestas en un manejador quedan un poco confusas,
habría sido mejor crear una función así.
<script>
function ejecutaEventoOnclick(){
x = 30
window.alert(x)
window.document.bgColor = ‘red’
}
</script>
function ejecutaEventoOnclick(){
x = 30
window.alert(x)
window.document.bgColor = ‘red’
}
</script>
<FORM>
<input type=button value=Pulsame onclick="ejecutaEventoOnclick()">
</FORM>
Ahora utilizamos más texto para hacer lo mismo, pero seguro que a la mayoría les parece más claro este segundo ejemplo.
<input type=button value=Pulsame onclick="ejecutaEventoOnclick()">
</FORM>
Ahora utilizamos más texto para hacer lo mismo, pero seguro que a la mayoría les parece más claro este segundo ejemplo.
- Jerarquía desde el objeto window
En los manejadores de eventos se tiene que especificar la
jerarquía entera de objetos del navegador, empezando siempre por el objeto
window. Esto es necesario porque hay algún browser antiguo que no sobreentiende
el objeto window cuando se escriben sentencias Javascript vinculadas a
manejadores de eventos.
No hay comentarios:
Publicar un comentario