CustomEvent
CustomEvent
representa eventos inicializados por una aplicación para cualquier propósito.
Nota:
Esta característica está disponible en Web Workers.Constructor
CustomEvent()
(en-US)-
Crea un
CustomEvent
.
Propiedades
CustomEvent.detail
(en-US) Read only- Cualquier dato transmitido al inicializar el evento.
Esta interfaz hereda las propiedades de su padre, Event
:
- event.altKey
- Devuelve un valor indicando si la tecla
<alt>
fue pulsada durante el evento. - event.bubbles
- Devuelve un valor que indica si el evento se propaga hacia arriba a través del DOM o no.
- event.button
- Devuelve el botón del ratón.
- event.cancelBubble
- Devuelve un valor que indica si la propagación hacia arriba fue cancelada o no.
- event.cancelable
- Devuelve un valor que indica si el evento se puede cancelar.
- event.charCode
- Devuelve el valor Unicode de una tecla de carácter que fue apretada como parte de un evento keypress.
- event.clientX
- Devuelve la posición horizontal del evento.
- event.clientY
- Devuelve la posición vertical del evento.
- event.ctrlKey
- Devuelve un valor que indica si la tecla
<Ctrl>
fue apretada durante el evento. - event.currentTarget
- Devuelve una referencia al objetivo actual registrado para el evento.
- event.detail
- Devuelve detalles sobre el evento, dependiendo del tipo de evento.
- event.eventPhase
- Utilizado para indicar qué fase del flujo del evento es actualmente en proceso de evaluación.
- event.explicitOriginalTarget
- El objetivo del evento (específico a Mozilla).
- event.isChar
- Devuelve un valor que indica si el evento produce o no una tecla de carácter.
- event.keyCode
- Devuelve el valor Unicode de una tecla que no es caracter en un evento keypress o cualquier tecla en cualquier otro tipo de evento de teclado.
- event.layerX
- Devuelve la coordenada horizontal del evento relativo a la capa actual.
- event.layerY
- Devuelve la coordenada vertical del evento relativo a la capa actual.
- event.metaKey
- Devuelve un valor booleano indicando si la
meta
tecla fue presionada durante un evento. - event.originalTarget
- El objetivo principal de un evento, antes de cualquier reapunte (Especifiación Mozilla).
- event.pageX
- Devuelve la coordenada horizontal del evento, relativo al documento completo.
- event.pageY
- Devuelve la coordenada vertical del evento, relativo al documento completo.
- event.relatedTarget
- Identifica un objetivo secundario para el evento.
- event.screenX
- Devuelve la coordenada horizontal del evento en la pantalla.
- event.screenY
- Devuelve la coordenada vertical del evento en la pantalla.
- event.shiftKey
- Devuelve un valor booleano indicando si la tecla
<shift>
fue presionada cuando el evento fue disparado. - event.target
- Devuelve una referencia al objetivo en la cual el evento fue originalmente enviado.
- event.timeStamp
- Devuelve el momento de creación del evento.
- event.type
- Devuelve el nombre del evento (distingue mayúsculas y minúsculas).
- event.view
- El atributo vista identifica la
AbstractView
del cual el evento fue generado. - event.which
- Devuelve el valor Unicode de la tecla en un evento del teclado, sin importar el tipo de tecla que se presionó.
Métodos
CustomEvent.initCustomEvent()
(en-US)-
Inicializar un objeto
CustomEvent
. Si el evento ya ha sido enviado, este método no hace nada.
Esta interfaz hereda los métodos de su padre, Event
:
{{Page("/es/docs/Web/API/Event", "Métodos")}}
Especificaciones
Especificación | Estado | Comentario |
---|---|---|
DOM La definición de 'CustomEvent' en esta especificación. |
Living Standard | Definición inicial. |
Compatibilidad con navegadores
BCD tables only load in the browser
Disparar desde código privilegiado a código no-privilegiado
Al disparar un CustomEvent desde código privilegiado (una extensión) a un código no-privilegiado (una página web), deben considerarse algunos problemas de seguridad. Firefox y otras aplicaciones Gecko restringen al objeto creado desde un contexto siendo directamente utilizado por otro, el cual automáticamente evitará los agujeros de seguridad, pero estas restricciones también pueden impedir que su código se ejecute como esperaba.
Al crear un objeto CustomEvent, debes crear el objeto desde la misma ventana. El atributo detail
de tu CustomEvent estará sujeto a las mismas restricciones. Los valores de String y Array serán legibles sin restricciones por el content, pero los objetos personalizados no lo harán. Al utilizar un objeto personalizado, necesitaras definir que atributos de ese objeto se pueden leer desde la secuencia de comandos de contenido usando Components.utils.cloneInto().
// doc es una referencia al contenido del documento
function dispatchCustomEvent(doc) {
var eventDetail = Components.utils.cloneInto({foo: 'bar'}, doc.defaultView);
var myEvent = doc.defaultView.CustomEvent("mytype", eventDetail);
doc.dispatchEvent(myEvent);
}
Pero hay que tener en cuenta que exponer una función permitirá que el script content lo ejecute con privilegios de chrome, lo que puede abrir una vulnerabilidad de seguridad.