Javascript 财产';id';不存在于类型';EventTarget';使用event.target.id时引发
我试图在我的组件上执行HostListener,指定我希望在单击某个特定元素时发生某件事;但是,我收到了错误信息: 类型“EventTarget”上不存在属性“id” 代码在UI中运行良好,但我无法摆脱linting引发的这个错误 我知道我必须为此使用一个类型,例如,如果我是针对一个输入元素执行它的话。但是,我正在对正在单击的正常Javascript 财产';id';不存在于类型';EventTarget';使用event.target.id时引发,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我试图在我的组件上执行HostListener,指定我希望在单击某个特定元素时发生某件事;但是,我收到了错误信息: 类型“EventTarget”上不存在属性“id” 代码在UI中运行良好,但我无法摆脱linting引发的这个错误 我知道我必须为此使用一个类型,例如,如果我是针对一个输入元素执行它的话。但是,我正在对正在单击的正常执行检查 我不确定如何继续 @HostListener('document:click', [$event']) myClick(event: MouseClick):
执行检查
我不确定如何继续
@HostListener('document:click', [$event'])
myClick(event: MouseClick): void {
if (event.target.id !== 'some-id') {
// do something here
}
}
我一直在玩一些东西,比如:
if(event.target.id.)
但我找不到解决办法…我将发布@ConnorsFan的答案,因为他的评论对我来说是可行的
最后,我使用了(event.target.id
似乎我设置event.target.id的尝试被误导了,因为我现在知道类型应该应用于目标,并且id只是所述目标元素的一个属性。执行console.log事件并检查是否有目标对象使用(event.target作为HTMLElement).id
或(event.target).id
。你的意思是使用(event.target作为HTMLElement)。id
对吗?@abumalick看起来我没有正确格式化答案。你现在可以看到,我基本上和你一样,只是可能没有那么优雅。