2017-10-14 19 views
0

私はtext:changedイベントで作業していますが、ユーザーが入力をやめるのを止めるときに関数を起動する必要があります。たとえば、ユーザーが入力して2秒間タイピングしてから。 Fabric.jsテキスト:変更されたイベント

は、下のテキストの変更にイベントを発生するために私のコードです:あなたが探している機能は、一般的に debounceと呼ばれている

canvas.on('text:changed', function(e) { 
    obj = canvas.getActiveObject(); 
    newtext = obj.text; 
    languageConverterEntoHn(newtext); 

    $('#cteditinput').val(newtext); 
    $('#cardalltexthex').empty(); 
    renderalltextfeomcanvas(); 
}); 

答えて

1

、あなたはlodashライブラリでそれを見つけることができるか、あなた自身のために書くことができます。返信用

https://lodash.com/

// import lodash 

var myFunction = function(e) { 
    obj = canvas.getActiveObject(); 
    newtext = obj.text; 
    languageConverterEntoHn(newtext); 

    $('#cteditinput').val(newtext); 
    $('#cardalltexthex').empty(); 
    renderalltextfeomcanvas(); 
} 
var myFunctionDebounced = lodash.debounce(myFunction, 2000); // 2 seconds debounce 
canvas.on('text:changed', myFunctionDebounced); 
+0

おかげで私はあなたのソリューションを試してみました。 "jquery.min.js:2 Uncaught ReferenceError:lodashが定義されていません"私はlodash.min.jsを追加しましたが、まだこのエラーが発生しています。 –

+0

ファブリックをインポートするときにプロジェクトでlodashをインポートする必要があります。 – AndreaBogazzi

関連する問題