Javascript 实现$(el).trigger(';我的事件';,{some:';数据';});在本地js中

Javascript 实现$(el).trigger(';我的事件';,{some:';数据';});在本地js中,javascript,jquery,Javascript,Jquery,对于如何实现$(el.trigger('my-event',{some:'data'),我将非常感谢您的帮助;在本机js中(不使用jquery)。 我能够在没有jquery的情况下实现绑定器 if (window.addEventListener) { window.addEventListener(event, func, false); } else if (window.attachEvent) { wi

对于如何实现$(el.trigger('my-event',{some:'data'),我将非常感谢您的帮助;在本机js中(不使用jquery)。
我能够在没有jquery的情况下实现绑定器

        if (window.addEventListener) {
        window.addEventListener(event, func, false);
        }
        else if (window.attachEvent) {
           window.attachEvent(event, func);
        }
我忘了提到,它需要在IE8中得到支持
更具体地说。我需要“我的事件”的自定义触发器,而不是本机触发器,如“单击”

我发现在尝试从jQuery转换为Vanilla Javascript时,此站点非常有用:

 if (document.createEvent) {
      var event = document.createEvent('HTMLEvents');
      event.initEvent('change', true, false);
      el.dispatchEvent(event);
    } else {
      el.fireEvent('onchange');
    }
使用:


对不起,我忘了提到它需要支持IE8。可能重复的no是不同的。我需要“我的事件”的自定义触发器,而不是像“单击”这样的本机触发器。你可以看到,这是本机触发器。在我的情况下,我需要触发“我的事件”。同一个站点没有为它提供实现。
 if (document.createEvent) {
      var event = document.createEvent('HTMLEvents');
      event.initEvent('change', true, false);
      el.dispatchEvent(event);
    } else {
      el.fireEvent('onchange');
    }
var ee = new EventEmitter();

// Add a listener
ee.addListener('myCustomEvent', function(){
  console.log(arguments) // yay!
});

// Emit custom event
ee.emitEvent('myCustomEvent', ['some', 'arguments'])