我想以编程方式触发“ object:modified”事件。我已经尝试过“开火”和“触发”方法。
var canvas = new fabric.Canvas('c');
canvas.on("object:modified", function (e) {
alert("object modified");
});
var text = new fabric.Text('Text', {
fontFamily: 'Hoefler Text',
left: 10,
top: 10
});
canvas.add(text);
$('.fillText').click(function(){
text.setFill($(this).data('color'));
canvas.renderAll();
text.trigger('modified');
});
$('#moveText').click(function(){
text.setLeft(50);
text.setTop(50);
text.setCoords();
canvas.renderAll();
text.trigger('modified');
});
您可以使用触发事件canvas.trigger('<eventname>', options);
。fire
已弃用,因此您应该避免使用它。
由于您想触发object:modified
,因此可以通过以下方式进行操作,同时传递已修改的对象:
canvas.trigger('object:modified', {target: text});
我用添加的解决方案更新了您的JSFiddle。:)(注意,我改变了alert
一个console.log
,因为我发现恼人的警报,您可以查看输出console.log
的开发工具,它可以通过按下F12打开例如谷歌浏览器)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句