2013-05-21 48 views
0

有什麼辦法可以選擇與jQuery的svg嗎?我不想操縱任何東西。就像任何img一樣點擊。jQuery點擊svg

(我知道他們是一些外部庫來操縱SVG但是我問這裏是否有可能只是與jQuery和任何其他點擊。)

請檢查你的答案在這裏:http://jsfiddle.net/NUCwg/

HTML:

<div id="content" > 
    <object data="http://upload.wikimedia.org/wikipedia/commons/3/38/HTML5_Badge.svg" 
     type="image/svg+xml" id="svg"> 
     <img src="grafic.png" alt="BG"> 
    </object> 
</div> 

JQUERY:

$(function(){ 
    $("#content").click(function() { 
     $("#content").fadeOut("normal"); 
    }); 
}) 
+0

不相關的問題,但你應該結束你的img標籤。 – smerny

+0

@smerny除非您不針對XHTML進行驗證。 – moonwave99

+0

@smerny img是一個自我關閉的標記,不需要關閉它:...是W3C有效的 –

回答

1

正如你不能綁定事件對象/從跨域SVG,你可以使用這種破解它{使用覆蓋}招:

SEE DEMO

$(function() { 
    var $content = $('#content'), 
     $overlay = $('<div/>').width($content.width()).height($content.height()).css({ 
      position: 'absolute', 
      left: $content.offset().left, 
      top: $content.offset().top 
     }).appendTo('body').click(function() { 
      $content.add(this).fadeOut("normal"); 
     }); 
}) 
+0

如果你想要一個柵格後備,這肯定是要走的路。 –