-3
我使用的面料JS爲我的項目,我想拆多行的iText像下面的圖片:面料JS - 斯普利特多行的iText
這裏是我的代碼:
var canvas = new fabric.Canvas("canvas", { preserveObjectStacking: true
});
var text = new fabric.IText("Hello!\nSplit Me\nPlease....", {
fontSize: 20,
top: 80,
left: 100,
fontFamily: "Arial"
});
canvas.add(text);
canvas.renderAll();
$('#split').click(function() {
var object = canvas.getActiveObject();
if(!object) return false;
if ((object.get('type') == 'i-text') && (object.getText().indexOf("\n") > 0)) {
var splitText = object.getText().split("\n");
var group = new fabric.Group();
var cloneObj = [];
for(var i=0;i<=splitText.length-1;i++) {
cloneObj[i] = fabric.util.object.clone(object);
cloneObj[i].setText(splitText[i]);
canvas.add(group);
canvas.add(cloneObj[i]);
group.addWithUpdate(cloneObj[i]);
canvas.renderAll();
}
object.remove();
canvas.setActiveGroup(group);
group.setCoords();
canvas.renderAll();
}
});
這裏是jsfiddle:https://jsfiddle.net/m74ruzwq/2/
任何幫助,將不勝感激。提前致謝。
謝謝您的幫助。但是,我得到這個錯誤消息「Uncaught TypeError:無法讀取未定義的屬性'_activeGroup'」。 :( –
該片段看起來像正在工作。 – AndreaBogazzi
感謝您的幫助,先生.. –