Creación y activación de eventos (Event)

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

En este artículo se muestra cómo crear y activar eventos.

Crear eventos personalizados

    Los eventos pueden ser creados con el constructor de eventos de la siguiente manera:

var event = new Event('build');

// Escucha para el evento.
elem.addEventListener('build', function (e) { ... }, false);

// Disparar event.
elem.dispatchEvent(event);

    Este constructor es compatible con la mayoría de los navegadores modernos (con Internet Explorer es la excepción). Para un enfoque más detallado, ver la manera antigua de abajo.

Adición de datos personalizados con CustomEvent ()

    Para añadir más datos al objeto de evento, existe la interfaz CustomEvent y la propiedad detalle se puede utilizar para pasar los datos personalizados.
Por Ejemplo, el evento se pude crear la siguiente manera:

var event = new CustomEvent('build', { 'detail': elem.dataset.time });

    Esto permitirá tener acceso a los datos adicionales en el detector de eventos (event listener):

function eventHandler(e) {
  log('The time is: ' + e.detail);
}

La Forma Antigua

    El enfoque más para la creación de eventos utiliza APIs inspirados en Java. A continuación se muestra un ejemplo:

// Creamos el evento.
var event = document.createEvent('Event');

/* Definimos el nombre del evento que es 'build'.*/
event.initEvent('build', true, true);

// Asignamos el evento.
document.addEventListener('build', function (e) {
  // e.target matches document from above
}, false);

// target can be any Element or other EventTarget.
document.dispatchEvent(event);

El disparo incorporado eventos

    Este ejemplo demuestra que simula un clic (que es la generación de programación un evento click) en una casilla de verificación usando métodos del DOM. Ver el ejemplo en acción.

function simulateClick() {
  var event = new MouseEvent('click', {
    'view': window,
    'bubbles': true,
    'cancelable': true
  });
  var cb = document.getElementById('checkbox'); 
  var canceled = !cb.dispatchEvent(event);
  if (canceled) {
    // A handler called preventDefault.
    alert("canceled");
  } else {
    // None of the handlers called preventDefault.
    alert("not canceled");
  }
}

Compatibilidad con los Navegadores

 

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Event() constructor 15 11 No support 11.60 6
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support ? ? ? ? 6

See also

Etiquetas y colaboradores del documento

 Colaboradores en esta página: BrunoViera, enreda, Soid
 Última actualización por: BrunoViera,