Fabricjs:insertChars()导致文字样式出现奇怪的问题

时间:2019-06-03 14:19:06

标签: fabricjs2

因此将很难显示任何代码,例如大多数东西都是使用Fabric定制的。但是insertChars()函数存在一个奇怪的问题。

在文本框中,每个字符都使用“ styles”参数单独设置样式,直到我使用insertChars()为止,所有字符都可以正常工作

因此,我的代码设置为在文本框的change事件上拾取,一旦触发,它将在结构文本框中拾取文本的选择开始和选择结束,并使用如下的insertChars:

textbox.insertChars(text,null,selectionStart,selectionEnd);

这行得通,但是最奇怪的是,如果我现在更改其上方行的“样式”参数,则我刚刚替换的行也会更改其样式。从我所见,换行符仍然存在。因此,如果我有2行是这样的:

A

B

具有如下样式:

styles = {
    0:{ 
        0:{
            fontSize:10 
        }
    },
    1:{
        0:{
            fontSize:20
        }
    }
}

现在我更改样式[0] [0] .fontSize = 50,第二行也更改。在我运行insertChars()替换第二行之前,它不会执行此操作。

作为一个适当的例子:

var text = "A\nB\n"; // styles above applied

,然后选择“ A”并执行insertChars()并将其替换为“ C”,然后更改其样式,“ B”也将更改。非常奇怪,没有意义,因为在执行insertChars之前它没有这样做,它只是替换了“ C”的样式。

这很难解释,但是我无法真正发布任何代码,因为它很大(我不能在没有周围环境的情况下发布代码段),所以我希望这是有道理的,只是想知道是否有人遇到过这个问题?

0 个答案:

没有答案