相关疑难解决方法(0)

跨浏览器兼容的CustomEvent

我需要创建一个自定义事件,它将一些数据传递给事件监听器.我已经创建了一个如下所示

自定义事件

var event = new CustomEvent('store', { 'detail': obj });
document.getElementById("Widget").dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

倾听者

document.getElementById("Widget").addEventListener('store', function (e) {
  console.log(e.detail);
  document.getElementById("result").innerHTML = e.detail.name+"<br>"+e.detail.address;
}, false);
Run Code Online (Sandbox Code Playgroud)

它在Chrome和Firefox等浏览器中运行良好,但在IE11中无效.我收到错误 - trigger()在IE中.

var event = new CustomEvent('store', { 'detail': obj });
document.getElementById("Widget").dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)

如何使这种跨浏览器兼容?我不想使用jQuery,Listener因为它trigger()可能不在具有jQuery的页面中

提前致谢.

javascript jquery events cross-browser jquery-events

7
推荐指数
2
解决办法
7549
查看次数