我打算写一个HTML5画布。我正在使用FabricJS。但是,我希望文本输入是大写的,用户不必使用“大写锁定”。
我试过了
textbox.hiddenTextarea.autoCapitalize =“on”;
和
让textbox = new fabric.IText(“”,{
textAlign:“center”,
autoCapitalize:“on”,
}
我甚至尝试过:
textbox.hiddenTextarea.onkeyup =(e)=> { e.target.value = e.target.value.toUpperCase(); }
没有任何作用。做我想要达到的目标的正确方法是什么?还是有任何黑客攻击?请指出我正确的方向。
答案 0 :(得分:0)
您可以使用此语法。 然后请获取activeObject。
activeObject.set('fontCharacterStyle', 'Caps');
答案 1 :(得分:0)
我创建了一个 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" });