Hi all,

I've got some SVG files that contain mousemove event listeners to invoke a 
script to display a tooltip. If I try to add multiple SVG's to an HTML5 doc, 
only the last page shows the tooltips when I run in most browsers.  In IE9, I 
get the tooltips across all the SVG's.  This is my sample HTML file containing 
the script and 2 child SVG elements.  Any idea what I need to do to get each 
SVG to display their unique tooltips?

Thanks!
  

<!DOCTYPE html >
<html>
<head>
<meta charset="windows-1252"/>
<meta name="generator" content="SAS 9.4"/>
<title>SVG Inlined in HTML5</title>

<script type="text/ecmascript">
   var SVGRoot = null;
   var viewBox = null;
   var TrueCoords = null;
   var singleTip = null;
   var singleBox = null;
   var singleText = null;
   var tiptspan = null;
   function Init(anchor) {
      SVGRoot = document.getElementById(anchor);
      TrueCoords = SVGRoot.createSVGPoint();

      singleTip = document.getElementById(anchor + '_singleTip');
  
      singleBox = document.getElementById(anchor + '_singlebox');
 
      singleText = document.getElementById(anchor + '_singleText');
      tiptspan = document.getElementById(anchor + '_tiptspan');
 
      SVGRoot.addEventListener('mousemove', ShowTooltip, false);
      SVGRoot.addEventListener('mouseout', HideTooltip, false);

      if (navigator.appName == 'Microsoft Internet Explorer') {
          if (singleText != null)
            singleText.setAttributeNS(null, 'class', 'ietiptext' );
      }
   }

function GetTrueCoords(evt)
{
   var p1    = SVGRoot.createSVGPoint();
   var p2;
   var m = SVGRoot.getScreenCTM();
   p1.x = evt.clientX;
   p1.y = evt.clientY;
   p2 = p1.matrixTransform(m.inverse());

   TrueCoords.x = Math.round(p2.x*100) / 100;
   TrueCoords.y = Math.round(p2.y*100) / 100;
}

function HideTooltip( evt )
{
   tiptspan.firstChild.nodeValue = null;
   singleTip.setAttributeNS(null, 'visibility', 'hidden');
}

function ShowTooltip( evt )
{ 
   GetTrueCoords( evt );
   var targetElement = evt.target;    

 var targetTspan = targetElement.getElementsByTagName('desc').item(0);

   if ( targetTspan) {
      if (targetTspan.firstChild != null)
         tiptspan.firstChild.nodeValue = targetTspan.firstChild.nodeValue; }
 
   if ( '' != tiptspan.firstChild.nodeValue )
   {
            
      var outline = singleText.getBBox();
  
      singleTip.setAttributeNS(null, 'visibility', 'visible');

      xPos = TrueCoords.x; 
      yPos = TrueCoords.y-20;

      singleBox.setAttributeNS(null, 'height', outline.height + 10);
      singleTip.setAttributeNS(null, 'transform', 'translate(' + xPos + ',' + 
yPos + ')');
   }
}
</script>
  

<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
 width="801" height="601" 
xml:space="preserve" baseProfile="full" version="1.1" id="SVGMain1" 
onload='Init("SVGMain1")' >
<desc></desc>
<defs>
<clipPath id="SVGMain_clipPage1">
<rect x="-1" y="-1" width="801" height="601"/>
</clipPath>
</defs>
<g id="SVGMain1_Page1">
<rect x="0" y="0" width="800" height="600" style="fill: #FFFFFF; fill-opacity: 
0.0; stroke: #FFFFFF; stroke-width: 1; stroke-opacity: 0.0; 
stroke-linejoin: round; "/>
<rect x="0" y="0" width="799" height="599" style="fill: #FFFFFF; stroke: 
#FFFFFF; stroke-width: 1; stroke-linejoin: round; "/>
<path d="M0 599L0 0L799 0L799 599L0 599" style="stroke: #000000; stroke-width: 
1; fill: none; stroke-linejoin: round; "/>
<text x="374" y="16" style="fill: #000000; font-family: 'Arial', sans-serif; 
font-size: 19px; font-weight: bold; ">SVG1</text>
<rect id='rect1' x="0" y="0" width="800" height="600" fill="#FFFFFF" 
fill-opacity="0">
<desc>Graphics text slide 1</desc>
</rect>
</g>
<g id="SVGMain1_singleTip" visibility="hidden" pointer-events="none">
   <rect id="SVGMain1_singlebox" x="0" y="0" width="88" height="20" rx="2" 
ry="2" fill="white" stroke="black" stroke-width="1.0" opacity="0.8"/>
   <text id="SVGMain1_singleText" x="5" y="10" font-family="'Arial', 
sans-serif" font-size="8" class="tiptext">
      <tspan id="SVGMain1_tiptspan" x="5"><![CDATA[ ]]></tspan>
   </text>
</g>
<defs>
<style type="text/css"><![CDATA[
    text { white-space: pre }
    text.ietiptext { white-space: normal }
    text.tiptext { white-space: pre }
]]></style>
</defs>

</svg>


<svg xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink";
 width="801" height="601" xml:space="preserve" baseProfile="full" version="1.1" 
id="SVGMain2" onload='Init("SVGMain2")' viewBox="-1 -1 801 601">
<desc></desc>
<defs>
<clipPath id="SVGMain2_clipPage1">
<rect x="-1" y="-1" width="801" height="601"/>
</clipPath>
</defs>
<g id="SVGMain2_Page1">
<rect x="0" y="0" width="800" height="600" style="fill: #FFFFFF; fill-opacity: 
0.0; stroke: #FFFFFF; stroke-width: 1; stroke-opacity: 0.0; 
stroke-linejoin: round; "/>
<rect x="0" y="0" width="799" height="599" style="fill: #FFFFFF; stroke: 
#FFFFFF; stroke-width: 1; stroke-linejoin: round; "/>
<path d="M0 599L0 0L799 0L799 599L0 599" style="stroke: #000000; stroke-width: 
1; fill: none; stroke-linejoin: round; "/>
<text x="374" y="16" style="fill: #000000; font-family: 'Arial', sans-serif; 
font-size: 19px; font-weight: bold; ">SVG2</text>
<rect id='rect2' x="0" y="0" width="800" height="600" fill="#FFFFFF" 
fill-opacity="0">
<desc>Graphics text slide 2</desc>
</rect>
</g>
<g id="SVGMain2_singleTip" visibility="hidden" pointer-events="none">
   <rect id="SVGMain2_singlebox" x="0" y="0" width="88" height="20" rx="2" 
ry="2" fill="white" stroke="black" stroke-width="1.0" opacity="0.8"/>
   <text id="SVGMain2_singleText" x="5" y="10" font-family="'Arial', 
sans-serif" font-size="8" class="tiptext">
      <tspan id="SVGMain2_tiptspan" x="5"><![CDATA[ ]]></tspan>
   </text>
</g>

</svg>

</body>
</html>




------------------------------------

-----
To unsubscribe send a message to: svg-developers-unsubscr...@yahoogroups.com
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
----Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    svg-developers-dig...@yahoogroups.com 
    svg-developers-fullfeatu...@yahoogroups.com

<*> To unsubscribe from this group, send an email to:
    svg-developers-unsubscr...@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

Reply via email to