浏览器javascript创建自定义事件

时间:2016-05-29 16:48:16

标签: javascript events dom browser mozilla

我不会解读这个:

我尝试创建一个自定义事件,当列表在表体中完全加载时应该触发该事件。像这样(加载列表后执行):

  var event = new Event('mklistloaded', {
        name: 'listname'
  });

  document.dispatchEvent(event);

这是"接收"端:

document.addEventListener('mklistloaded', function(e) {

    console.log('mklistloaded event: ' + JSON.stringify(e));

});

但控制台日志打印出来:

mklistloaded event: {"isTrusted":false}

这与mozilla示例中描述的完全相同:

https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

您错过了docs “添加自定义数据 - CustomEvent()”

中的部分

document.addEventListener('mklistloaded', function(e) {
  console.log('mklistloaded detail: ', e.detail);
});
// use CustomEvent() instead of Event()
var event = new CustomEvent('mklistloaded', {
  'detail': 'listname'
});

document.dispatchEvent(event);

请注意,似乎需要使用属性名称detail