Reputation: 3913
on change event of text-Area i want to change the text which is already drawn on canvas. following code i have written , using if/else condition i am removing text which was added earlier .remove doesn't works here perfectly . after text change if i drag text somewhere then text is changed to first one which is already removed what would be problem ?
$('#filedset').delegate(' textarea', 'change ', function () {
var canvas = new fabric.Canvas('design_text');
if (x == 0) {
alert('if called');
var message = $(this).val();
console.log('text area change' + message);
var text = new fabric.Text(message, {
left: 150,
top: 60
});
canvas.remove(text1);
canvas.add(text);
x = 1;
} else {
alert('else called');
var message = $(this).val();
console.log('text area change' + message);
var text1 = new fabric.Text(message, {
left: 150,
top: 60
});
canvas.remove(text);
canvas.add(text1);
x = 0;
}
}
Upvotes: 0
Views: 2213
Reputation: 3507
Sure. I created small jsfiddle: http://jsfiddle.net/Kienz/BTh6A/
var canvas = new fabric.Canvas('design_text');
$('#filedset').on(' textarea', 'change ', function(e) {
var obj = canvas.getActiveObject() || canvas.item(0),
text = e.target.value;
if (!obj || obj.type !== 'text') return;
obj.setText(text);
canvas.renderAll();
});
Upvotes: 2