5

I am trying to set text to textbox explicitly,in older fabricjs versionobject.setText("something")

was working but not working in fabric js version 2. Any other way introduced in this version?

var canvas = new fabric.Canvas('c');
var text1 = new fabric.Textbox('Text', {
  left: 10,
  top: 20,
   width: 300
})

canvas.add(text1);
canvas.on('text:changed', function(e) {

 var objTEmp = e.target;
 objTEmp.setText("some");

    
});
canvas{
 border:1px solid #000;
}
<script type="text/javascript" src="
https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.0.0-rc.4/fabric.js"></script>
<canvas id="c" width="400" height="400" style="border:1px solid #000000;"></canvas>
Pratyush Pranjal
  • 544
  • 6
  • 26

2 Answers2

10

That build doesn't have setter/getter (optional). If you want to set text you can use

obj.text = text;
//or
obj.set({
 text:text
});
//or
obj.set('text', text);

DEMO

var canvas = new fabric.Canvas('c');
var text1 = new fabric.Textbox('Text', {
  left: 10,
  top: 20,
   width: 300
})

canvas.add(text1);
canvas.on('text:changed', function(e) {
 var objTEmp = e.target;
 objTEmp.set({
  text : "some"
 });
});
canvas{
 border:1px solid #000;
}
<script type="text/javascript" src="
https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.0.0-rc.4/fabric.js"></script>
<canvas id="c" width="400" height="400" style="border:1px solid #000000;"></canvas>
nilay jha
  • 744
  • 8
  • 12
Durga
  • 15,263
  • 2
  • 28
  • 52
0

You can build your own version of Fabric.js here: http://fabricjs.com/build/

Check "Named accessors" to bring back support for setters and getters. Not recommended and unsupported, who knows how long it will stay in there, but if you just need a quick solution now, that will do the trick.