fabricjs以编程方式将光标移动到文本框的末尾

Aya*_*sra 1 fabricjs

我有一个文本框,在将文本内容添加到画布上时想在其中放置文本内容,并希望使其处于活动状态。这样,用户可以在添加默认文本后开始书写。我添加了enterEditing()哪个活动文本框,但在开始时移动了光标。

var object = canvas.getActiveObject('textbox');
canvas.setActiveObject(object);
object.setText("Start");
object.enterEditing();
Run Code Online (Sandbox Code Playgroud)

Dur*_*rga 5

用于setSelectionStart(length) and setSelectionEnd(length);将光标设置到文本的末尾。

演示

var canvas = new fabric.Canvas('c');
var newText = new fabric.Textbox('Type \n here...', {
  fontSize: 27,
  top: 10,
  left: 10,
  width: 200
});
canvas.add(newText);
canvas.setActiveObject(newText);
newText.enterEditing();
newText.setSelectionStart(newText.text.length);
newText.setSelectionEnd(newText.text.length);
Run Code Online (Sandbox Code Playgroud)
canvas{
 border: 2px solid #000;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<canvas id="c" width=300 height=300></canvas>
Run Code Online (Sandbox Code Playgroud)