Dado que el elemento <set>
no funciona con Firefox 3, creo que debe usar ECMAScript.
Si se añade el siguiente elemento de secuencia de comandos en su SVG:
<script type="text/ecmascript"> <![CDATA[
function init(evt) {
if (window.svgDocument == null) {
// Define SGV
svgDocument = evt.target.ownerDocument;
}
tooltip = svgDocument.getElementById('tooltip');
}
function ShowTooltip(evt) {
// Put tooltip in the right position, change the text and make it visible
tooltip.setAttributeNS(null,"x",evt.clientX+10);
tooltip.setAttributeNS(null,"y",evt.clientY+30);
tooltip.firstChild.data = evt.target.getAttributeNS(null,"mouseovertext");
tooltip.setAttributeNS(null,"visibility","visible");
}
function HideTooltip(evt) {
tooltip.setAttributeNS(null,"visibility","hidden");
}
]]></script>
Es necesario añadir onload="init(evt)"
en el elemento SVG para llamar a la función init().
Luego, al final de la SVG, añadir el texto de sugerencia:
<text id="tooltip" x="0" y="0" visibility="hidden">Tooltip</text>
Por último, para cada uno de los elemento que usted quiere tener la función mouseover complemento:
onmousemove="ShowTooltip(evt)"
onmouseout="HideTooltip(evt)"
mouseovertext="Whatever text you want to show"
I He escrito una explicación más detallada con una funcionalidad mejorada en http://www.petercollingridge.co.uk/interactive-svg-components/tooltip
Aún no he incluido información sobre herramientas de varias líneas, lo que requeriría múltiples <tspan>
elementos y envoltura manual de palabras.
Morais que podría ayudar si se redujo la pregunta un poco. Tal vez un poco más específico acerca de qué tecnologías están disponibles para usted y qué navegadores necesita para apoyar (Firefox y qué más?) Sólo una sugerencia. –
La respuesta aceptada está desactualizada, pero la de Neil Fraser sigue siendo correcta. – Craig