Объект не поддерживает это действие IE9 с CustomEvent Initialization

Я получаю следующую ошибку в IE9: "

Объект нене поддерживает это действие ".

Есть разные вопросы по этому поводу, но мой специально для следующего кода:

 var myEvent = new CustomEvent("additem");

Насколько я понимаю, CustomEvent поддерживается в IE9 как команда манипулирования DOM. Это прекрасно работает в Chrome без каких-либо исключений.

Кто-нибудь имеет эту проблему и знает, как ее решить? Благодарю.

Ответы на вопрос(4)

Следующий polyfill не заменит родной CustomEvent (),

Частичный источник из:MDN CustomEvent ():

(function () {

  if (typeof CustomEvent === 'function') { return; }

  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;
})();
Решение Вопроса

только в обычных браузерах. Я предлагаю использовать библиотеку javascript, которая обеспечивает независимую от браузера реализацию, такую как Jquery 'триггер с:http://api.jquery.com/trigger/

 ComFreek13 окт. 2013 г., 15:21
@HMR прав,пользовательские события поддерживаются!, Вы должны использоватьdocument.createEvent() а такжеCustomEvent::initCustomEvent() заIE 9 совместимость, Смотрите мой ответ здесь:stackoverflow.com/a/19345563/603003
 Don McCurdy18 мая 2016 г., 16:26
Проголосовал только затолько в обычных браузерах ".
 Idan Shechter16 янв. 2013 г., 13:45
 HMR16 янв. 2013 г., 13:53
Похоже, IE9 теперь имеет конструктор для customEventmsdn.microsoft.com/en-us/library/ie/ff975304%28v=vs.85%29.aspx посмотрите пример использования функции createEvent, но без конструктора. Я согласен с Flunk лучше использовать библиотеку, если вам нужна поддержка нескольких браузеров.

чтобы определить, является ли браузер IE11 или ниже, а затем применить следующий polyfill:

    (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

 goofballLogic30 апр. 2014 г., 15:30
этот полифилл неКажется, он определяет, когда ухудшаться из нативных реализаций
 Florin Dobre12 мая 2015 г., 23:08
Спасибо, Алин! Я отредактировал свой ответ и исправил его.
 Florin Dobre03 авг. 2015 г., 12:30
Спасибо, Олефранк! Я обновил URL MDN!
 olefrank03 авг. 2015 г., 10:53
 Alin Purcaru12 мая 2015 г., 17:48
новый CustomEvent также не работает в IE 10/11.

который неЗаменить собственный (и функциональный) метод CustomEvent.

(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;
})();
 anztenney28 нояб. 2016 г., 23:49
Это неу меня работает в IE11. Вызов нового CustomEvent ('тестовое задание') фактически вызывал метод, определенный здесь, в результате чего полифилл никогда не добавлялся.
 Scott Jungwirth28 нояб. 2016 г., 23:57
Ах, интересно .., может быть, попробуйте переместить остальные внутриcatch блок?

Ваш ответ на вопрос