0
我正在處理在線打印介質應用程序,如'vistaprint.in',其中用戶可以在織物js畫布上修改預製設計。在fabric.js對象中沒有對象的唯一標識符...所有的文本對象都爲它們創建了一個輸入,以便用戶只需通過更改輸入即可直接更改所需的文本...您可以在右邊的截圖中看到畫布有每個文本對象的輸入...我現在正在做的是當輸入更改時,我循環遍歷所有文本對象,並匹配輸入文本和文本對象文本,如果它匹配,那麼我更新新的文本到該對象..這工作正常第一次,但不是在那之後...我試過但無法找到解決這個問題的方法。Fabric.js通過輸入編輯文本
這是帆布和輸入的樣子現在 Screenshot of app
,這是我現在創造了改變畫布文本功能
$(document).on('input', '#cardalltexthex input', function(){
v = $(this).attr('text');
newtext = $(this).val();
objs = canvas.getObjects();
objs.forEach(function(e) {
if (e && e.type === 'i-text') {
console.log(e.text);
console.log(newtext);
if (e.text == v) {
e.setText(newtext);
canvas.renderAll();
}
}
});
});
感謝回答我知道,這將與ID工作,但問題是,我們已經創建了設計的千不使用任何IDS ...我需要做的這一點沒有IDS –
@sunilkumar然後你得到什麼錯誤? –
沒有錯誤,但畫布文本只改變了第一次當我編輯輸入 –