56 javascript javascript-events dispatchevent internet-explorer-11
我使用以下代码提交到表单:
element.dispatchEvent(new Event("submit"));
Run Code Online (Sandbox Code Playgroud)
Inspector返回错误:对象不支持此操作
这适用于Chrome.
此命令的目的是在单击时对窗体上的提交事件进行调用.
Jquery不是一个选择
Koh*_*ami 74
这是使其适用于IE11和其他浏览器并考虑未来变化的最佳方法.
var event;
if(typeof(Event) === 'function') {
event = new Event('submit');
}else{
event = document.createEvent('Event');
event.initEvent('submit', true, true);
}
$el.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
小智 42
我只是遇到了同样的问题,但以下似乎在IE11中有效:
var event = document.createEvent("Event");
event.initEvent("submit", false, true);
// args: string type, boolean bubbles, boolean cancelable
element.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
San*_*ath 14
最好使用 polyfil 来解决这个问题。(自定义事件polyfill)
# using yarn
$ yarn add custom-event-polyfill
# using npm
$ npm install --save custom-event-polyfill
Run Code Online (Sandbox Code Playgroud)
然后在你的javascript中包含/要求它
import 'custom-event-polyfill';
https://www.npmjs.com/package/custom-event-polyfill