有没有办法更改所选文字?
假设我有一个文字“ 示例文字 ”并以编程方式选择一个单词示例
...
text.selectionStart = 0;
text.selectionEnd = 6;
...
所以,text.getSelectedText()返回 Sample ,这就是我需要的...... 下一步,我想要的是将其更改为任何其他文本。
一般来说,我想更改 selectionStart 和 selectionEnd 之间的文字。
有什么想法吗? Tnx提前。
答案 0 :(得分:1)
var canvas = new fabric.Canvas('c');
canvas.setHeight(300);
canvas.setWidth(500);
var text = new fabric.IText('Sample Text', {
left: 50,
top: 100,
fontFamily: 'arial',
fill: '#333',
fontSize: 50
});
canvas.add(text);
function replaceText(){
var res = text.getSelectedText();
text.insertChars(res.split('').sort(() => Math.random() * 2 - 1).join(''));//adding shuffled string
text.selectionStart = 0;
text.selectionEnd = 6;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.19/fabric.js"></script>
<button onclick="replaceText()">Replace</button>
<canvas id="c"></canvas>
&#13;
您可以使用IText的insertChars()
方法。