Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置不会立即影响文本框的选择样式';s_textLines.length_Javascript_Fabricjs - Fatal编程技术网

Javascript 设置不会立即影响文本框的选择样式';s_textLines.length

Javascript 设置不会立即影响文本框的选择样式';s_textLines.length,javascript,fabricjs,Javascript,Fabricjs,我需要获取Fabric.js文本框中的行数。文本框内的文本由用户输入,部分文本可以使用[b]和[/b]格式化为粗体。然后使用setSelectionStyles(更改字体系列)格式化此文本 for(var i=0;i

我需要获取Fabric.js文本框中的行数。文本框内的文本由用户输入,部分文本可以使用
[b]
[/b]
格式化为粗体。然后使用
setSelectionStyles
(更改字体系列)格式化此文本

for(var i=0;i

在一个示例中,要格式化的文本有8行长。格式化后,由于文本换行,该数字将增加到9。但是,
\u textLines.length
似乎不能立即反映这一点。是否有一种方法可以“等待”设置选择样式以“完成”文本格式化?

在获取
\u textLines.length
之前,通过调用
canvas.add(fabricText)
canvas.renderal()
来解决此问题

for (var i = 0; i < parseResults[1].length; i++) {
  fabricText.setSelectionStyles({fontFamily: "font_SeagullBold"}, parseResults[1][i], parseResults[2][i]);
}
canvas.add(fabricText);
canvas.renderAll();
console.log(fabricText._textLines.length);
for(var i=0;i
for (var i = 0; i < parseResults[1].length; i++) {
  fabricText.setSelectionStyles({fontFamily: "font_SeagullBold"}, parseResults[1][i], parseResults[2][i]);
}
canvas.add(fabricText);
canvas.renderAll();
console.log(fabricText._textLines.length);