gpt4 book ai didi

javascript - dispatchEvent 导致错误 failed to execute 'dispatchEvent' on 'EventTarget' : parameter 1 is not of type 'Event'

转载 作者:数据小太阳 更新时间:2023-10-29 04:17:52 46 4
gpt4 key购买 nike

我正在使用 Angular2 + TypeScript,当我尝试执行这段代码时:

var event = new Event('check');
window.dispatchEvent(event);

导致下一个错误的代码:

failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.

我已经尝试了一切,发现这会起作用:

var event = new CustomEvent('check');

问题是 CustomEvent 不受任何 IE 支持。

另一个有用的是:

var event = new Event('CustomEvent');
event.initCustomEvent('check');

问题是 InitCustomEvent 已被弃用。

我能做些什么来避免这种类型错误吗?也许在 typescript 的某处异常(exception)?或者使用任何未弃用且适用于 IE Edge 的代码?

最佳答案

找到解决方案。

对于某些 TypeScript 设置,仅当我们插入第二个参数时,新事件“事件”类型,例如:

window.addEventListener('check', e => console.log(e.type))

var event = new Event('check', { bubbles: true, cancelable: false })
document.body.dispatchEvent(event) // event will buble up to window

关于javascript - dispatchEvent 导致错误 failed to execute 'dispatchEvent' on 'EventTarget' : parameter 1 is not of type 'Event' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41920266/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com