私はファブリックjsキャンバス上のプレデアデザインを変更できる 'vistaprint.in'のようなオンライン印刷メディアアプリケーションに取り組んでいます。 fabric.jsオブジェクトには、オブジェクトの一意の識別子はありません。すべてのテキストオブジェクトは、それぞれの入力を作成するので、ユーザーは入力を変更するだけで目的のテキストを直接変更できます。右のスクリーンショットで見ることができますキャンバス各テキストオブジェクトの入力があります...私が今やっていることは、入力が変更されるときです。すべてのテキストオブジェクトをループし、入力テキストとテキストオブジェクトテキストが一致すれば、そのオブジェクトに新しいテキストを更新します。私は試しましたが、これを解決するために何をすべきかを見つけることができませんでした。Fabric.js入力を介してテキストを編集する
これは、キャンバスと入力が今 Screenshot of app
のように見え、これは私がキャンバスのテキストを変更するために、今作成した関数である方法です
あなたはid
プロパティを指定する必要が
$(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();
}
}
});
});
おかげで...私は、IDS –
せずにこれを実行する必要があります@ sunilkumarその後、あなたは何を得ているのですか? –
エラーはありませんが、キャンバステキストは初めて入力時に編集するときにのみ変更されます –