user769535
user769535

Reputation: 11

How to get the drawn rectangle element in Raphael?

I want to know what is the way of getting elements drawn using the Raphael.js.I tried with getById but it is not at all working.Please help me to overcome this issue.

//When the user clicks on the circle i am getting the Circle ID and wants to get the //rectangle which is also having the same ID as Circle but with different prefix.

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"});  
    });
}       

Upvotes: 1

Views: 1555

Answers (1)

tapio.jaakkola
tapio.jaakkola

Reputation: 53

I think your problem is that you're trying to use paper as shown in the example. Hopefully this helps you out.

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
    });
};

EDIT: Reread your question and think I may have misunderstood it. Anyway I'm not quite sure what you mean with getting the same id with different prefix. Every element gets unique number id.

Upvotes: 2

Related Questions