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()

Crea un CustomEvent.

Propiedades

CustomEvent.detail 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()

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:

Especificaciones

Especificación Estado Comentario
DOM
La definición de 'CustomEvent' en esta especificación.
Living Standard Definición inicial.

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidEdge MobileFirefox para AndroidOpera para AndroidSafari en iOSSamsung Internet
CustomEventChrome Soporte completo SiEdge Soporte completo SiFirefox Soporte completo 6IE Soporte completo 9Opera Soporte completo 11Safari Soporte completo 5.1WebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo SiOpera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android ?
Available in workersChrome Soporte completo SiEdge Soporte completo SiFirefox Soporte completo 48IE Soporte completo SiOpera Soporte completo SiSafari Soporte completo SiWebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo 48Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android ?
CustomEvent() constructorChrome Soporte completo 15Edge Soporte completo SiFirefox Soporte completo 11IE Sin soporte NoOpera Soporte completo 11.6Safari Sin soporte No
Notas
Sin soporte No
Notas
Notas Available on Nightly build (535.2)
WebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile Soporte completo SiFirefox Android Soporte completo SiOpera Android Soporte completo SiSafari iOS Sin soporte No
Notas
Sin soporte No
Notas
Notas Available on Nightly build (535.2)
Samsung Internet Android ?
detailChrome Soporte completo 11Edge Soporte completo 14Firefox Soporte completo 11IE Sin soporte NoOpera Soporte completo 11.6Safari Sin soporte No
Notas
Sin soporte No
Notas
Notas Available on Nightly build (535.2)
WebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile ? Firefox Android Soporte completo 14Opera Android Soporte completo SiSafari iOS Sin soporte No
Notas
Sin soporte No
Notas
Notas Available on Nightly build (535.2)
Samsung Internet Android ?
initCustomEvent
Deprecado
Chrome Soporte completo Si
Soporte completo Si
Soporte completo 59
Notas
Notas canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Edge Soporte completo 14Firefox Soporte completo 6IE Soporte completo 9Opera Soporte completo 11Safari Soporte completo 5.1WebView Android Soporte completo Si
Soporte completo Si
Soporte completo 59
Notas
Notas canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Chrome Android Soporte completo Si
Soporte completo Si
Soporte completo 59
Notas
Notas canBubble, cancelable, and detail are optional parameters defaulting to false, false, and null respectively.
Edge Mobile Soporte completo SiFirefox Android Soporte completo 6Opera Android Soporte completo SiSafari iOS Soporte completo SiSamsung Internet Android ?

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Compatibilidad desconocida  
Compatibilidad desconocida
Deprecado. No debe ser usado en nuevos sitios web.
Deprecado. No debe ser usado en nuevos sitios web.
Ver notas de implementación.
Ver notas de implementación.

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

Etiquetas y colaboradores del documento

Etiquetas: 
Colaboradores en esta página: mdnwebdocs-bot, fscholz, AlePerez92, daniville
Última actualización por: mdnwebdocs-bot,