



(2 opiniones)
Un manejador de eventos o Handler corresponde a una función que dado un conjunto de eventos, realiza una acción especifica.
Un handler se puede asociar como atributo de una marca o como una propiedad de un elemento. Para dar un ejemplo de cada caso, consideremos la siguiente función, que lanza un alert:
function ver() { alert('Hola'); }
Primer caso: <a href=" " onmouseover="ver()">Link</a>
Segundo caso: document.links[0].onmouseover = ver(); <a>Link</a>
En Netscape se debe especificar el elemento, sea window, document o algún layer, que queremos reciba un evento. Para ello Netscape provee un conjunto de eventos predefinidos los cuales son manipulados por una metodo especial llamdo captureEvents().
La lista de eventos aceptados por Netscape en la siguiente:
Event.ABORT Event.BLUR Event.CHANGE Event.CLICK Event.DBCLICK Event.DRAGDROP Event.ERROR Event.FOCUS Event.KEYDOWN Event.KEYPRESS Event.KEYUP Event.LOAD Event.MOUSEDOWN Event.MOUSEMOVE Event.MOUSEOUT Event.MOUSEOVER Event.MOUSEUP Event.MOVE Event.RESET Event.RESIZE Event.SCROLL Event.SELECT Event.SUBMIT Event.UNLOAD
De esta forma, si queremos que los eventos sean recibidos por todo el documento, escribimos:
document.captureEvents(Event.MOUSEOVER, Event.MOUSEOUT);
Damos por descontado que debe existir un handler asociado para manipular tales eventos.
A su vez, cada evento Netscape trae consigo ciertas propiedades. La lista es la siguiente:
data: La URL de un evento drag and drop
layerX, layerY: Las coordenadas horizontal y vertical del evento, relativas al layer que lo contiene modifiers: Un valor entero que representa ya sea que el usuario presiono la tecla Control, Alt o Shift
pageX, pageY: Las coordenadas horizontal y vertical relativas a la ventana o frame
screenX, screenY: Las coordenadas horizontal y vertical relativas a la pantalla.
target: Una referencia al objeto apuntado mediante un evento
type: Un string representado el evento. Ej "click"
which: Para eventos de mouse, un entero que representa el boton presionado. Para el teclado, la tecla presionada
En Explorer no hay tal problema de especificar que elemento recibira el evento. El browser por defecto, detecta el elemento seleccionado por el usuario y asocia el manejador de eventos correspondiente.
De la misma forma que en Netscape, cada evento trae consigo ciertas propiedades, las cuales enumeramos a continuación:
altKey: Un valor booleano que indica si la tecla Alt fue presionada
button: Un entero que indica si un botón del mouse fue presionado
clientX, clientY: Las coordenadas horizontal y vertical del evento en relación a la ventana del browser
ctrlKey: Un valor booleano que indica si la tecla Control fue presionada
keyCode: Un entero que representa el código del caracter presionado del teclado
offsetX, offsetY: Las coordenadas horizontal y vertical del evento en el espacio de un objeto o elemento
screenX, screenY: Las coordenadas horizontal y vertical relativas a la pantalla.
shiftKey: Un valor booleano que indica si la tecla Shift fue presionada
srcElement: Una referencia al objeto apuntado mediante un evento
type: Un string representado el evento. Ej "click"
x, y: Las coordenadas horizontal y vertical del evento dentro del elemento BODY o para un elemento dado
|