javascript - fabric.js 中 itext 的 maxlength 属性
问题描述
是否有使用 fabric.js 库的 itext 的 maxlength 属性?如果不是,如何编写一个与 html/javascript maxlength 属性一样流畅和一致的代码?我一直在研究一个,但它不像 maxlength 属性那样流畅。我的问题是它会添加字符然后删除它,所以用户可以看到它发生......不像 maxlength 属性它只是停止接受输入。
解决方案
您可以添加maxlength
到hiddenTextarea
文本对象editing:entered
事件。
const canvas = new fabric.Canvas('c');
const text = new fabric.IText('Hello');
text.on('editing:entered', () => {
text.hiddenTextarea.setAttribute('maxlength', 5);
})
canvas.add(text);
canvas {
border: 1px solid #999;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/3.4.0/fabric.js"></script>
<canvas id="c" width="600" height="600"></canvas>
推荐阅读
- laravel-5 - 如何在 laravel 5.5 的资源控制器的单一方法中使用多个权限中间件?
- kentico - Correct way to register a global event
- bash - Output lines in CSV where a particular column is not empty and another is
- android - 在 Google Play 上查找交易 ID 以在 2018 年转移应用
- node.js - How do I test a promise catch block - with with an error thrown from the callback
- php - Laravel 与许多表的关系
- hyperledger-fabric - 如何使用启用多用户模式部署 composer-rest-server 的多个实例?
- sql - Merging 4 tables without common columns/rows
- jquery - jQuery 2 下拉列表相等的值不同的结果
- webpack - Webpack 4 在同一文件夹中将 sass 转换为 css