CustomEvent

La interfaz 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.

Ver tambi茅n