0

有没有办法用 jQuery 选择 svg?我不想操纵任何东西。只需单击,就像任何 img 一样。

(我知道它们是一些用于操作 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>

查询:

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

2 回答 2

1

http://jsfiddle.net/NUCwg/6/

我认为您的解决方案不起作用,因为 jQuery 不能淡入淡出objectembed元素(请参阅http://jsfiddle.net/9CVFd/1/)。我的解决方案的唯一缺点是它缺少栅格回退。

于 2013-05-21T16:00:21.783 回答
1

由于您无法从跨域将事件绑定到对象/svg,因此您可以使用这种 hack {使用覆盖}来欺骗它:

看演示

$(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");
        });
})
于 2013-05-21T16:07:48.507 回答