如何激活 fabric js IText 的光标?

How to activate the cursor for a fabric js IText?

我希望能够将文本添加到 canvas 并让它直接进入编辑文本模式,在该模式下光标可见,您可以开始输入。

到目前为止,我已经获得了添加文本并将其设置为活动状态的代码,但我不确定如何进入编辑文本模式。有任何想法吗?谢谢!

    var fabicText = new fabric.IText('Click to change Text', { left: 100, top: 100 });
   fabicText.set({ fill: getSelectedColorText() });
   _fabicCanvas.add(fabicText);

  _fabicCanvas.setActiveObject(fabicText);

您必须使用 enterEditing() 方法,然后像这样将焦点设置到 hiddenTextArea

fabicText.enterEditing();
fabicText.hiddenTextarea.focus();

var _fabicCanvas;

$(function () {
    _fabicCanvas = window._canvas = new fabric.Canvas('canvas');
    var fabicText = new fabric.IText('Click to change Text', {
        left: 100,
        top: 100
    });
    _fabicCanvas.add(fabicText);
    fabicText.set({ fill: 'blue' });
    _fabicCanvas.setActiveObject(fabicText);
    fabicText.enterEditing()
    fabicText.hiddenTextarea.focus();

});
<script src="https://rawgit.com/kangax/fabric.js/v1.4.5/dist/fabric.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvas" width="400" height="400" class="canvas"></canvas>

对于Android,唯一有效的方法

  Text.on('selected', function () {
    setTimeout(() => {
      Text.enterEditing();
      Text.hiddenTextarea.focus();
    }, 100);
  });