javascript - 如何在Raphael中获取绘制的矩形元素?

标签 javascript svg raphael

我想知道使用 Raphael.js 获取元素的方法是什么。我尝试使用 getById 但它根本不起作用。请帮助我解决这个问题。

//当用户点击圆圈时,我得到了圆圈 ID 并希望获得//也与圆圈具有相同 ID 但前缀不同的矩形。

function addCircleClick(obj)
{
    obj.click(function(event)
    {
        alert(paper+" getRect ID 1"+this.id);.
        var getRect; 
        try
        {
            var getRect  = paper.getById(this.id);////This below line(paper.getById(this.id)) is not working,even Circle object i am not able  to get
        }
        catch(e)
        {
            alert(e);//Issue here
        } 
        alert("getRect ID 2 "+getRect); 
        obj.attr({"stroke":"red"});  
    });
}       

最佳答案

我认为您的问题在于您正在尝试使用示例中所示的纸张。希望这可以帮助你。

var paper = Raphael("field1", 240, 400, actions);

var attrs = {
        fill: "#FFF"    
    };

function actions() {
    var that = this;  
    var circle = that.circle(50,50,10);
    circle.attr(attrs);

    circle.click(function(event) {
        console.log(this.id); //elements id
        console.log(that.getById(this.id)); //clicked element
        console.log(paper.getById(this.id)); //doesn't work
    });
};

编辑:重读你的问题,我想我可能误解了它。不管怎样,我不太确定你用不同的前缀获得相同的 id 是什么意思。每个元素都有唯一的编号 id。

关于javascript - 如何在Raphael中获取绘制的矩形元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10688685/

相关文章:

javascript - 如何使用 Parse 访问和查询对象的 ID?

javascript - 没有 HTTPS 的带有 Google Hangout API 的本地 Javascript 文件

javascript - 预绘制 Raphael 屏幕,将其保存到文件并在运行时加载

javascript - 定位 SVG 元素

javascript - 有没有办法从 IE 浏览器的输入字段中删除十字符号?

javascript - Ajax 无法在 IE 上运行

javascript - 如何在圈子中添加数字

javascript - SVG 覆盖我的背景颜色

javascript - 从 Browserify 模块访问 DOM 时出现问题

javascript - 如何在 x 轴上具有不同的值,并在 graphael 上具有不同的标签?