我有一个简单的内联 hbs 脚本,它应该在窗口加载时广播一个自定义事件:<script> window.onload = function () { var evt = new Event('global:initialize-alert-banners'); window.dispatchEvent(evt, function(e) { console.log('why doesnt this broadcast?', e) }); };</script>使用 Node 调试器,我可以看到 evt 变量已成功创建,但是当需要在窗口上调度事件时,没有任何触发。任何帮助是极大的赞赏。
2 回答
侃侃尔雅
TA贡献1801条经验 获得超16个赞
该EventTarget.dispatchEvent()方法不接受回调。在调度事件之前,您需要向窗口添加一个事件侦听器:
window.addEventListener('global:initialize-alert-banners', () => console.log('global:initialize-alert-banners dispatched'))
window.onload = function() {
var evt = new Event('global:initialize-alert-banners');
window.dispatchEvent(evt);
};
添加回答
举报
0/150
提交
取消