微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – SVG矩形的单击事件

我在我的Mvc应用程序中使用SVG和jQuery.我在我的页面上画一系列矩形,我想做的是为每个矩形附加一个点击或鼠标悬停事件,例如弹出一个警报框.
到目前为止,我已经尝试过这样的事情:
$("rect[id='Y6']").attr('onclick',function() { alert("Hello!") });

$("rect[id='Y6']").live('click',function() {    
    alert("Hello!");
};

但是遗憾的是,这一事件并没有真正适用于这种控制.
有谁知道如何做到这一点?

编辑:

我正在添加我在下面使用的JavaScript代码

<script type="text/javascript">
    /*function resetSize(svg,width,height) {
        svg.configure({ width: width || $(svg._container).width(),height: height || $(svg._container).height()
        });
    }*/
    function onLoad(svg,error) {
        //svg.text(10,20,error || 'Loaded into ' + this.id);
        //resetSize(svg,null,null); //'100%','100%');
    }

    $(function() {
        $('#layout').svg({});

        var svg = $('#layout').svg('get');
        svg.load('<%= Url.Action("Layout",new{ id = Model.Id }) %>',{ //<%= Url.Content("~/media/svg/lion.xml") %>',{
            addTo: false,changeSize: false,onLoad: onLoad
        });
    });    

$('rect#Y6').click( function(){
  alert('hello');
});

</script>

矩形从svg图片加载.

解决方法

添加点击处理程序的代码需要是onLoad函数的一部分 – 与该更改 it works for me.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐