javascript javascript-events internet-explorer-11 dispatchevent

javascript - dispatchEvent no funciona en IE11



javascript-events internet-explorer-11 (2)

Estoy usando el siguiente código para enviar a un formulario:

element.dispatchEvent(new Event("submit"));

El inspector devuelve el error: el objeto no admite esta acción

Esto funciona en Chrome.

El objetivo de este comando es hacer que una división invoque el evento submit en un formulario cuando se hace clic en él.

Jquery no es una opción


Simplemente tuve el mismo problema, pero el siguiente parece funcionar en IE11:

var event = document.createEvent("Event"); event.initEvent("submit", false, true); // args: string type, boolean bubbles, boolean cancelable element.dispatchEvent(event);


Reuní pedacitos de varios enfoques y conseguí que esto funcionara:

var customEvent = document.createEvent(''HTMLEvents''); customEvent.initEvent(''myCustomEvent'', true, true); document.dispatchEvent(customEvent);

Para ser honesto, esto no tiene mucho sentido para mí. Crea un evento (lo denomina HTMLEvents parece ser necesario) en el documento, luego va e inicializa ese evento con otro nombre. Si alguien puede explicar esto mejor, por favor agregue un comentario a continuación para que pueda ser incorporado en la respuesta.

En cualquier caso, puedo escuchar este evento personalizado en IE11 (y navegadores modernos) con un oyente de eventos estándar:

document.addEventListener(''myCustomEvent'', function(){ console.log(''Event received.''); });