10

当用户将鼠标悬停在 SVG 中的文本上时,我需要一个工具提示。此外,文本和工具提示内容应该可以使用 javascript 进行修改。

以下适用于 Firefox 但不适用于 Chrome。这样做的正确方法是什么?

HTML:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100" height="100">
    <rect width="100" height="100" style="fill:black;stroke-width:0"></rect>
    <text id="text1" x="50" y="15" text-anchor="end">text1</text>
    <text id="text2" x="80" y="15" text-anchor="end"
      transform="translate(0,50)">text2</text>
</svg>

Javascript(使用 jQuery):

$('#text1').attr('title', 'Tooltip 1');
$('#text2').attr('title', 'Tooltip 2');

我的 jsfiddle:http: //jsfiddle.net/getvictor/ctaVA/

4

2 回答 2

26

标题子元素将充当工具提示。

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100" height="100">
    <rect width="100" height="100" style="fill:black;stroke-width:0"></rect>
    <text id="text1" x="50" y="15" text-anchor="end"><title>Tooltip 1</title>text1</text>
    <text id="text2" x="80" y="15" text-anchor="end"
      transform="translate(0,50)"><title>Tooltip 2</title>text2</text>
</svg>
于 2013-10-28T14:34:36.553 回答
5

您可以使用该<title>元素。

请注意,那些确实用于<title>显示工具提示的实现通常只有在<title>确实是其父元素的第一个子元素时才会这样做。

来自https://developer.mozilla.org/en/docs/Web/SVG/Element/title

所以,在你的例子中,那将是

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100" height="100">
   <title id="title1">This is a tooltip</title>
   <rect width="100" height="100" style="fill:black;stroke-width:0"></rect>
   ...
于 2017-03-12T09:03:40.803 回答