Objeto event
El objeto event se genera cuando se activa
un evento y contiene información sobre él. Cuando aparece
un evento, el objeto event se pasa a
la función manejadora.
Propiedades y métodos del objeto event
La siguiente tabla muestra las propiedades y métodos
del objeto event y su descripción:
| Nombre | Descripción |
|---|---|
event.currentTarget |
El elemento DOM actual en la fase de burbujeo del evento. Normalmente
esta propiedad es equivalente a this de la función.
|
event.data |
Parámetro opcional. Objeto de datos que se pasa al método del evento al adjuntar el manejador ejecutable. |
event.delegateTarget |
El elemento al que se acaba de adjuntar el manejador de eventos
jQuery invocado. Esta propiedad es más útil
en eventos delegados, cuando el manejador está vinculado a
un antecesor del elemento manejado. Para manejadores
no delegados, vinculados directamente al elemento,
el valor de event.delegateTarget corresponde
al valor de event.currentTarget.
|
event.isDefaultPrevented |
El método verifica si fue llamado el método
event.preventDefault
para este objeto de evento.
|
event.isImmediatePropagationStopped |
El método verifica si fue llamado el método
event.stopImmediatePropagation
para este objeto de evento.
|
event.isPropagationStopped |
El método verifica si fue llamado el método
event.stopPropagation
para este objeto de evento.
|
event.isPropagationStopped |
El método verifica si fue llamado el método
event.stopPropagation
para este objeto de evento.
|
event.metaKey |
El método verifica si estaba presionada la tecla
META en el momento de la activación
del evento. Dependiendo de la plataforma, la tecla
puede diferir. Retorna true o
false.
|
event.namespace |
El espacio de nombres especificado en el momento de la llamada del evento. Esta propiedad puede ser útil para autores de plugins, cuyas tareas dependen del espacio de nombres utilizado. |
event.pageX |
Muestra la posición del mouse respecto al borde izquierdo del documento. |
event.pageY |
Muestra la posición del mouse respecto al borde superior del documento. |
event.preventDefault |
Si este método es llamado, la acción por
defecto para este evento no se
ejecutará. Por ejemplo, hacer clic en un enlace
no llevará a una nueva URL. Para
verificar si este método fue llamado,
se puede usar el método
event.isDefaultPrevented.
|
event.relatedTarget |
Retorna otro elemento DOM que participa
en el evento, si existe. Para
mouseout muestra sobre qué
elemento está el cursor del mouse, para mouseover
desde qué elemento se movió el cursor del mouse.
|
event.result |
El último valor que retornó el manejador
del evento activado, que no sea igual a
undefined. La propiedad puede ser útil
para obtener valores de eventos propios.
|
event.stopImmediatePropagation |
Cancela el trabajo de todos los manejadores restantes
de eventos vinculados al elemento y previene
el burbujeo del evento hacia arriba en el árbol DOM. Para
simplemente prohibir que el evento burbujee hasta
elementos antecesores, pero permitir el trabajo de otros
manejadores de eventos, se puede usar el método
event.stopPropagation. Usa el método
event.isImmediatePropagationStopped para
verificar si fue llamado
event.stopImmediatePropagation para este
objeto de evento.
|
event.stopPropagation |
Previene el burbujeo del evento hacia arriba en el árbol
DOM. Recuerda que otros manejadores
continuarán trabajando para este elemento. Este
método funciona para eventos propios, activados
usando el método
trigger.
Para verificar si este método fue llamado,
usa event.isPropagationStopped.
|
event.target |
El elemento DOM que inició el evento. Puede
ser el elemento registrado para el evento o
su descendiente. Es muy útil comparar
event.target y this para determinar
el burbujeo del evento. La propiedad es útil en la delegación
de eventos, cuando los eventos burbujean.
|
event.timeStamp |
Diferencia de tiempo en milisegundos entre
el momento de creación del evento por el navegador y
el 1 de Enero de 1970. La propiedad puede ser
útil para determinar el rendimiento
del evento obteniendo la diferencia de valores
de event.timeStamp para dos momentos
de tiempo en el código. Si solo quieres
obtener la hora actual dentro del manejador
de eventos, usa el método
getTime.
|
event.type |
En esta propiedad se especifica el tipo de evento. |
event.which |
Esta propiedad indica qué tecla
del teclado o del mouse fue presionada. Para el mouse:
1 - botón izquierdo, 2 - rueda central,
3 - botón derecho. Usa
event.which en lugar de event.button.
|
Otras propiedades del objeto event
Hay otras propiedades que son copiadas
al objeto event:
altKey, button, buttons, cancelable,
char, charCode, clientX, clientY,
ctrlKey, detail, eventPhase, key,
keyCode, offsetX, offsetY, originalTarget,
screenX, screenY, shiftKey,
toElement, view.
Para acceder a propiedades no listadas arriba,
se puede usar el objeto event.originalEvent.
Ejemplo
Vamos a mostrar en un div - qué teclas fueron presionadas:
<input id="test" value="type something">
<div id="text"></div>
$('#test').on('keydown', function(event) {
$('#text').html(event.type + ": " + event.which);
});
Ejemplo
Vamos a mostrar en un div - en qué etiqueta hacemos clic:
<body>
<div id="text"></div>
<div>
<p>
<strong><span>click</span></strong>
</p>
</div>
</body>
span, strong, p {
display: block;
padding: 10px;
border: 1px solid black;
}
$('body').click(function(event) {
$('#text').html('clicked: ' + event.target.nodeName);
});
Ver también
-
método
on,
que permite vincular un manejador de eventos a un elemento -
método
trigger,
que permite ejecutar todos los manejadores de eventos, vinculados al elemento para eventos de un tipo dado -
método
triggerHandler,
que permite ejecutar todos los manejadores de eventos, vinculados al elemento - eventos jQuery