在结构js中的上一行末尾进行编辑时,换行符不起作用

时间:2018-02-12 12:12:26

标签: fabricjs

当我在当前行中写入时换行工作正常但如果我在前一行中尝试编辑,则换行符不起作用。我知道原因是行长度用作行宽的数组索引。所以当我回去编辑时,数组索引保持不变,数组宽度也保持不变,所以无法进入条件。请给出一些解决方案来解决这个问题。

Demo

var tempwidth=270;
canvas.on('text:changed', function(e) {
    console.log("Line Length",e.target._textLines.length);
        console.log("TargetText",e.target);
    objTEmp=e.target;
    var tLine = e.target._textLines.length;
    var lineWidthText = e.target.__lineWidths[tLine-1];
    console.log("TargetText",e.target.__lineWidths[tLine-1]);
    if (lineWidthText > tempwidth) {
       objTEmp.setText(e.target.text+' ');
       objTEmp.setText(objTEmp.getText());
       objTEmp.selectAll(); 
       objTEmp.setSelectionStart(objTEmp.text.length);
       objTEmp.setSelectionEnd(objTEmp.text.length);
       tempwidth=270;
       canvas.renderAll();
       console.log("TargetTextWidth",e.target.width);
       console.log("Changed Text Width",tempwidth);

      }
      });

0 个答案:

没有答案