因此将很难显示任何代码,例如大多数东西都是使用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”的样式。
这很难解释,但是我无法真正发布任何代码,因为它很大(我不能在没有周围环境的情况下发布代码段),所以我希望这是有道理的,只是想知道是否有人遇到过这个问题?