TextBox宽度动态调整fabric js

安吉特·乔希

我想根据用户输入的最长行动态修改文本框宽度。我初始化了画布的宽度 = 宽度,但是一旦用户退出编辑,宽度必须缩短到用户在 textBox 中写入的文本中最长行的宽度。

obj.on(("editing:exited"),function()  {
    can.setActiveObject(textBox);
    var largest = Math.max.apply(Math, can.getActiveObject().__lineWidths); 
    can.getActiveObject().set("width",largest);

})

问题是每次我退出编辑时,宽度都会减小并且顶线会移到下方。我只是无法理解发生了什么。请尽早帮助。提前致谢。还请上传一个演示,以便我可以看到您的代码的效果。

更新 1:如果我改变行

    can.getActiveObject().set("width",largest);

    can.getActiveObject().set("width",(largest + 1));

它按需要工作。我不知道为什么会这样。

安吉特·乔希

我自己通过一些编码找到了这个问题的答案。

https://jsfiddle.net/xpntggdo/8/

对于所有可能面临类似问题的人,这里是小提琴,这里是代码。

textBox.on(("changed"),function(){
       var actualWidth = textBox.scaleX * textBox.width;
        var largest = canvas.getActiveObject().__lineWidths[0];
        var tryWidth = (largest + 15) * textBox.scaleX;
        canvas.getActiveObject().set("width",tryWidth);
        if((textBox.left + actualWidth) >= canvas.width - 10)
         {
             textBox.set("width", canvas.width - left - 10)
        }
            canvas.renderAll();

    });

    textBox.on(("modified"),function(){
      left = textBox.left;
      canvas.renderAll();

    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在fabric js中调整大小后如何更新矩形的宽度和高度?

来自分类Dev

Fabric.js文本宽度被忽略

来自分类Dev

在Fabric.js中调整对象大小

来自分类Dev

Fabric.js动态添加/删除元素

来自分类Dev

动态更新fabric.js路径点

来自分类Dev

Fabric.js-无法动态设置属性

来自分类Dev

动态更新fabric.js路径点

来自分类Dev

调整动态添加的Div的宽度

来自分类Dev

动态调整输入角度的宽度

来自分类Dev

调整动态添加的Div的宽度

来自分类Dev

动态调整div宽度的大小

来自分类Dev

动态输入字段宽度调整

来自分类Dev

调整画布的背景图像大小-Fabric.js

来自分类Dev

fabric.js调整画布大小以适合屏幕

来自分类Dev

在Fabric JS IText和Textbox之间轻松转换?

来自分类Dev

d3.js:具有动态元素宽度的图例

来自分类Dev

Ember.js:基于模型属性值的动态宽度

来自分类Dev

动态更改d3.js sankey图表的宽度

来自分类Dev

d3.js:具有动态元素宽度的图例

来自分类Dev

根据主动态宽度动态调整CSS中的宽度

来自分类Dev

根据主动态宽度动态调整CSS中的宽度

来自分类Dev

Fabric.js动态剪切单个对象

来自分类Dev

Fabric.js动态剪切单个对象

来自分类Dev

使元素的宽度与动态调整大小的图像相同?

来自分类Dev

以编程方式动态调整uilabel宽度的约束

来自分类Dev

Sticky.js宽度:调整浏览器大小后不再100%导航

来自分类Dev

Fabric.js路径对象由于宽度和高度而无法选择

来自分类Dev

Fabric.js如何在不拉伸文本的情况下水平调整IText的大小

来自分类Dev

Fabric js:使用鼠标调整大小时,增加字体大小,而不只是缩放