Los Eventos

Eventos
Eventos
Vincular
Controladores
Ratón y teclado
Temporizadores
El objeto event
 
Controladores de eventos
Las funciones controladoras son las que escribimos para reaccionar a un evento. En el apartado vinculación henmos visto como se pueden realizar las asignaciones, aquí veremos en detalle como funcionan. La función controladora es una función Javascript como cualquier otra, la única particularidad es que se ejecuta llamada por un evento. Por ejemplo definamos la función mostrar como una ventana alert que muestra el atributo id del objeto que la dispara
function mostrar(obj)
{
alert(obj.value);
}
Y ahora realizaremos la vinculación en línea

<input name="miboton" type="button" value="Picar"
onclick = "mostrar(this)">
Al pulsar sobre el boton saltará la ventana de alerta. Pruébalo:

Observa que en la función usamos un argumento y en la vinculación usamos el parámetro this, cuando pulsamos el botón del ratón se llama a la función y se identifica su argumento ( obj ) con el parámetro de la llamada ( this ). Por supuesto que pueden usarse mas de un argumento. Ojo el nombre de la función va entre comillas dobles, si se usan cadenas en los argumentos estas se deberán encerrar entre comillas simples como en el siguiente ejemplo:

function mostrar(obj)
{
alert(obj.value);
}
< input name="miboton" type="button" value="Picar"
onclick = "mostrar('Pulsastes', this)">

Si deseas detener la promoción de un evento para que no ascienda por la jerarquía de los elementos de la página deberemos asignar true a la propiedad cancelBubble del objeto event que se esté controlando. Por ejemplo en el siguiente código el evento onclick asciende por la jerarquía desde el elemento div interno al externo pero sólo queremos el externo.

<div id="Externo" onclick="alert(this.id)">
Esta parte es una capa externa.
< div id="Interna" onclick="event.cancelBubble=true">
ESTA ES LA CAPA INTERNA</div>
y esto sigue siendo la externa</div>

Si omites la asignación event.cancelBubble en la capa interior, un click en ella provocaría que también se disparase el evento onclick de la capa externa. Esta asignación puede hacerse dentro de la función controladora

Envía esta página a un amigo. Te lo agradecerá.   Poner esta página como página de inicio