我有一个HTML5画布,我打算在上面写字。我正在使用FabricJS。然而,我希望文本输入是大写的,而用户不必使用"caps lock“。
我试过了
textbox.hiddenTextarea.autoCapitalize = "on";
和
让textbox =新中心(“”,{ textAlign:“fabric.IText”,
autoCapitalize: "on",}
我甚至还尝试过:
textbox.hiddenTextarea.onkeyup = (e) => { e.target.value = e.target.value.toUpperCase();}
什么都不管用。做我想要实现的事情的正确方法是什么?或者有黑客入侵吗?请告诉我正确的方向。
发布于 2019-09-03 12:58:30
您可以使用此语法。那就去找activeObject吧。
activeObject.set('fontCharacterStyle', 'Caps');发布于 2021-03-11 00:24:54
我已经创建了IText的一个子类,以允许将textTransformation设置为大写:
const TransformableText = fabric.util.createClass(fabric.IText, {
_splitTextIntoLines: function() {
const transformedText = this.textTransform === 'uppercase' ? this.text.toUpperCase() : this.text;
return this.callSuper('_splitTextIntoLines', transformedText);
},
});可用作:
const textbox = new TransformableText("", { textTransform: "uppercase" });https://stackoverflow.com/questions/44435684
复制相似问题