Fabric.js文本︰已更改的事件
问题描述:
我正在与text:changed
事件其工作正常,但我需要触发一个函数时,用户停止键入不是每个单词更改例如,如果用户键入并停止键入2秒,然后触发一个函数。Fabric.js文本︰已更改的事件
下面是我的代码在文本改变火灾事件:
canvas.on('text:changed', function(e) {
obj = canvas.getActiveObject();
newtext = obj.text;
languageConverterEntoHn(newtext);
$('#cteditinput').val(newtext);
$('#cardalltexthex').empty();
renderalltextfeomcanvas();
});
答
你正在寻找的功能通常被称为debounce
,您可以在lodash库中找到它,或者你可以写自己。
// 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);
感谢回复我想你的解决方案。但它不工作,因为这个错误“jquery.min.js:2未捕获的ReferenceError:lodash没有定义”我添加lodash.min.js ...但我仍然得到这个错误。 –
您必须在导入织物时在项目中导入lodash。 – AndreaBogazzi