我使用对象标签在 HTML 中嵌入了一个 svg
<div id="svgDiv">
<object id="svgObjectElement" data="mysvg.svg" type="image/svg+xml">
Your browser doesn't support SVG.
</object>
</div>
我想使用tippy.js 库为我的svg 中的圆圈提供工具提示,但我似乎无法将mysvg 中的圆圈用作目标。如果 svg 在 HTML 中(比如这个 line 元素),效果很好。
HTML:
<svg height="50" width="50"><line x1="0" y1="0" x2="50" y2="50" style="stroke:tomato;stroke-width:5"></line></svg>
<div id="svgDiv">
<object id="svgObjectElement" data="mysvg.svg" type="image/svg+xml">
Your browser doesn't support SVG.
</object>
</div>
JavaScript:
tippy('line', {
content: 'Custom Line Tooltip',
})
我尝试了以下 JavaScript,其中 circle1 是 svg 中圆的 id,但它不起作用:
var svgDocument = document.getElementById("svgObjectElement").contentDocument;
var element = svgDocument.getElementById("circle1");
tippy(element, {
content: 'Custom circle Tooltip',
});
我也试过
var svgDocumentElement= document.getElementById("svgObjectElement").contentDocument.documentElement;
var element = svgDocumentElement.getElementById("circle1");
tippy(element, {
content: 'Custom circle Tooltip',
});
这是行不通的。如果相关,我正在使用 Chrome。任何想法,将不胜感激。