Html5 canvas 删除应用于IText的样式

Html5 canvas 删除应用于IText的样式,html5-canvas,fabricjs,Html5 Canvas,Fabricjs,我在画布中添加了一个IText对象,在这里我动态更改文本中每个单词的样式,这里的样式正在更新,但我无法清除应用的以前的样式。因此,每次新样式都会覆盖到以前的样式上 function updateStyle(){ clearItextStyle(); var letterArray =getLetterIndex(iText.getText()); var counter=1;

我在画布中添加了一个IText对象,在这里我动态更改文本中每个单词的样式,这里的样式正在更新,但我无法清除应用的以前的样式。因此,每次新样式都会覆盖到以前的样式上

function updateStyle(){

                    clearItextStyle();
                    var letterArray =getLetterIndex(iText.getText());
                    var counter=1;
                    for(var i=0;i<selectionArr.length;i=i+2){
                            iText.setSelectionStart(selectionArr[i]);
                            iText.setSelectionEnd(selectionArr[i+1]+1);
                            switch(counter){
                                case 1:
                                iText.setSelectionStyles({"textDecoration":"underline"});
                                    break;
                                case 2:
                                iText.setSelectionStyles({"textDecoration":"overline"});
                                    break;
                                case 3:
                                    iText.setSelectionStyles({"textDecoration":"line-through"});
                                    break;
                            }
                            counter++;
                            if(counter>3){
                                counter=0;
                            }


                    }


                    canvas.renderAll();

              }



              function clearItextStyle(){

                text.setSelectionStart(0);
                text.setSelectionEnd(iText.getText().length-1);
                text.setSelectionStyles(null);
                canvas.renderAll();

             }
函数更新样式(){
clearItextStyle();
var letterArray=getLetterIndex(iText.getText());
var计数器=1;
对于(var i=0;i3){
计数器=0;
}
}
canvas.renderAll();
}
函数clearItextStyle(){
text.setSelectionStart(0);
text.setSelectionEnd(iText.getText().length-1);
text.setSelectionStyles(空);
canvas.renderAll();
}
要清除IText元素的“TextEdition”样式,可以将该样式设置为“none”,例如


重置itext对象的样式:

itext.styles = { }; // -> space is important
canvas.renderAll();
然后可以添加回样式。

使用text.remove();清除文本
text.setSelectionStyles({"textDecoration":"none"});
itext.styles = { }; // -> space is important
canvas.renderAll();