自定义事件怎么传参数到监听器里?
我在用 new CustomEvent() 创建自定义事件,但不知道怎么把数据传给监听函数。试过在 detail 里放对象,但取出来是 undefined,是不是哪里写错了?
比如我这样发事件:
const event = new CustomEvent('myEvent', {
detail: { id: 123, name: 'test' }
});
element.dispatchEvent(event);
然后监听的时候:
element.addEventListener('myEvent', (e) => {
console.log(e.detail); // 这里打印出来是 undefined
});
明明写了 detail,为啥拿不到数据啊?
如果用的是老浏览器(IE),CustomEvent 需要 polyfill: