首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对象不支持带有IE9初始化的操作CustomEvent。

对象不支持带有IE9初始化的操作CustomEvent。
EN

Stack Overflow用户
提问于 2013-01-16 12:33:43
回答 4查看 25.9K关注 0票数 15

在IE9中我得到了以下错误:

"Object不支持此操作“。

这方面有各种问题,但我的问题是专门针对以下代码的:

代码语言:javascript
运行
复制
 var myEvent = new CustomEvent("additem");

据我理解,CustomEvent作为DOM操作命令在IE9中得到支持。这在Chrome中工作正常,无一例外。

有人有这个问题,知道怎么解决吗?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-01-16 12:44:26

IE不支持Afaik自定义事件,只有普通浏览器不支持Afaik。我建议使用javascript库来提供独立于浏览器的实现,比如Jquery的触发器:http://api.jquery.com/trigger/

票数 20
EN

Stack Overflow用户

发布于 2014-04-08 19:22:03

您可以使用javascript函数检测浏览器是否是IE11或更低,然后应用下一个填充:

代码语言:javascript
运行
复制
    (function () {
      function CustomEvent ( event, params ) {
        params = params || { bubbles: false, cancelable: false, detail: undefined };
        var evt = document.createEvent( 'CustomEvent' );
        evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
        return evt;
      };

      CustomEvent.prototype = window.Event.prototype;
      window.CustomEvent = CustomEvent;
    })();

以上的填充来自MDN:https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent

票数 18
EN

Stack Overflow用户

发布于 2015-11-13 00:03:43

试试这个不替换本机(和函数式) CustomEvent方法的填充方法。

代码语言:javascript
运行
复制
(function () {
  try {
    new CustomEvent('test');
    return;
  } catch(e) {
    // ignore this error and continue below
  }

  function CustomEvent ( event, params ) {
    params = params || { bubbles: false, cancelable: false, detail: undefined };
    var evt = document.createEvent( 'CustomEvent' );
    evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
    return evt;
  };

  CustomEvent.prototype = window.Event.prototype;
  window.CustomEvent = CustomEvent;
})();
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14358599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档