我使用一个外部库,该库使用d3打印气泡图。我正在用Angular编码。我想覆盖气泡图中一个子组件的onmouseover事件。如果我在控制台中键入此命令,它将起作用:
d3.selectAll('.class1 > text').on("mouseover", function(){alert("Hello");});
[不幸的是,我不知道d3图表完全加载时是否会触发d3中的任何事件(即,气泡图及其所有子组件已在DOM中打印)。特别是,当我在ngOnInit()函数中编写此类代码时,这些组件仍不在DOM中(即它们是undefined),因此不会弹出警报。
我正在寻找某种afterDraw()事件或d3中的某种东西。有什么办法让我可以在component.ts文件中包含这样的代码吗?
您是否尝试过首先将mouseover
设置为null,然后将其重置。因此,例如:
d3.selectAll('.class1 > text').on("mouseover", null);
d3.selectAll('.class1 > text').on("mouseover", function(){alert("Hello");});