【发布时间】:2019-09-04 15:50:41
【问题描述】:
我正在尝试以角度自动生成复杂/交互式 SVG 图像,但事件绑定似乎存在问题。
我只尝试了 [click] 事件,它工作正常并且事件被触发。此外,[mouseout] 事件本身或与 [click] 事件一起工作正常。 但是当我添加 [mouseenter] 或 [mouseover] 时,不会触发其他事件。 我试图只留下一个事件直接绑定到元素并使用@HostListener Decorator 收听 [mouseout] 和 [click] 但它也不起作用!
我认为 [innerHTML] 必须对此做点什么,但它非常重要,我无法删除它。只是我不知道这个组的子元素是什么,它们是由用户动态生成或上传的,作为 adobe illustrator 生成的简单 SVG,所以我使用 js 到 XML 转换器来生成内部对象组。
<svg>
<g id="group">
<g *ngFor="let object of array"
(mouseenter)="hoverStarted($event, object)"
(mouseout)="hoverEnded($event, object)"
(click)="objectClick(object)"
[innerHTML]="getObjectInternalSvgString(object)"
>
</g>
</g>
</svg>
我希望触发所有鼠标事件 [mouseenter、mouseout、click],但只有 [mouseenter] 被触发。 当我删除 [mouseenter] 时,[mouseout] 和 [click] 都可以正常工作。
【问题讨论】:
标签: angular mouseevent innerhtml