如何激活结构js IText的光标?

Nul*_*nce 6 html5 html5-canvas fabricjs

我希望能够在画布上添加文本,并让它直接进入编辑文本模式,光标可见,您可以开始输入.

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

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

  _fabicCanvas.setActiveObject(fabicText);
Run Code Online (Sandbox Code Playgroud)

Dhi*_*raj 17

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

fabicText.enterEditing();
fabicText.hiddenTextarea.focus();
Run Code Online (Sandbox Code Playgroud)

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();

});
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

  • 多亏了这个,只需添加上面的操作将光标设置在文本框的开头,为我添加`fabricText.selectAll()`在焦点工作之后 - 它意味着用户可以立即开始输入并替换所有现有文本:) (5认同)