Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to select Fabric.js object programmatically

I want to programmatically select Fabrics.js object. What do I have to do? For example, I am adding two objects like this:

var canvas = new fabric.Canvas('canvas'); canvas.add(new fabric.Rect({     left: 100,     top: 100,     width: 75,     height: 50,     fill: 'green',     stroke: 'black',     strokeWidth: 3,     padding: 10   }));   canvas.add(new fabric.Circle({     left: 200,     top: 200,     radius: 30,     fill: 'gray',     stroke: 'black',     strokeWidth: 3   })); 

and I have two button while clicking the button named

  1. select rectangle
  2. select second object

While clicking the select rectangle button it should select the rectangle shape and while clicking the select second object button it should select the second object circle.

Here is the Jsfiddle for workaround.

I goggled and fed up, here I am seeking for some point how to start.

EDIT

I like to have the ID for each object, it should be possible to select the object using that ID, why I am asking this is, while using the collaborative things we can't tell surely all the connected nodes will have the item in same index, so unique id will be useful.

like image 261
Thirumalai murugan Avatar asked Nov 20 '13 13:11

Thirumalai murugan


1 Answers

You want to use:

 canvas.setActiveObject(canvas.item(0)); 

In the buttons click event

The number corresponds to the order in which the object was added to the canvas.

See here:

http://jsfiddle.net/ThzXM/1/

like image 180
Dan Brown Avatar answered Oct 05 '22 01:10

Dan Brown