2013-09-24 49 views
0

我必須將某些SVG文本轉換爲正常工作的超鏈接。我有以下代碼(我已經添加了錨標記):無法讓XLink在SVG文件中工作

<svg class="crocodoc-4Z7fb6 crocodoc-page-svg" version="1.1" 
xmlns="http://www.w3.org/2000/svg" 
xmlns:xlink="http://www.w3.org/1999/xlink" 
xmlns:xhtml="http://www.w3.org/1999/xhtml" 
xml:space="preserve" width="720pt" height="547pt" viewBox="0 0 720 547"> 
<xhtml:link href="css/stylesheet.css" type="text/css" rel="stylesheet" /> 
<defs> 
<image id="Image_35_3_4Z7fb6" width="176" height="243" xlink:href="images/35.png" /> 
<image id="Image_41_3_4Z7fb6" width="175" height="241" xlink:href="images/41.png" /> 
<image id="Image_37_3_4Z7fb6" width="176" height="243" xlink:href="images/37.png" /> 
<clipPath id="Clip_0_3_4Z7fb6"><path d="M0 547 l720 0 l0 -547.2 l-720 0 l0 547.2 " /></clipPath> 
<image id="Image_39_3_4Z7fb6" width="176" height="243" xlink:href="images/39.png" /> 
</defs> 
... 
<a xlink:href="http://www.mylink.com" target="_blank"><text class="fh" font-size="12.96" 
style="fill:#d52b1e"><tspan x="197.66" y="361.55" 
textLength="128.81"dx="0,-0.09,-0.09,-0.09,0,0,0,0,0.04,0,0,0,0,0,0.13,0,0,0,0.1,0"> 
www.mylink.com</tspan></text></a> 
... 
</svg> 

的圖像加載不錯,但我所包裹着的標記文本,無法點擊。任何人都可以建議我在這裏做錯了嗎?

+1

這是可點擊我提供的我添加textLength和dx屬性之間的缺失空間,即textLength =「128.81」dx =「0,... –

+0

你是對的...它必須是標記中的東西我省略導致它(你提到的空間是在原來的),我會再看一看,併發布完整的文件,如果我不能弄明白,謝謝你的輸入。 –

回答

0

的罪犯是在端的線路標籤:

<path d="M0 547 l719.98 0 l0 -547.2 l-719.98 0 l0 547.2 z " style="stroke:#000000; 
stroke-width:1.92;stroke-linejoin:round;"/> 
</svg> 

一旦我刪除路徑標籤(我沒有反正需要)的鏈接工作。不知道爲什麼,我猜路徑以某種方式隱藏了可點擊元素。感謝Robert Longson的單挑。

0

如果有幫助,我確實找到了一個使用jquery mobile的解決方案。我的項目需要jQuery Mobile,不是最好的,但這是一個開始!

// .map is the class for the link/svg/group/path/etc 
$(".map").click(function() { 
      $.mobile.navigate("#map-viewer"); 
     }); 

希望這可以幫助別人!