0

如何在下面的示例中获得活动对象或活动组?我正在使用这个。在这个小提琴中,我试图在文本框值更改时创建弯曲文本。我需要获取画布的活动对象以应用大小和所有更改,但活动组或元素不起作用。我怎样才能做到这一点 ?

小提琴 :: http://jsfiddle.net/NHs8t/8/

下面是fiffle的片段::

        var act = canvas.getActiveGroup();

        var obj = canvas.getActiveObject();
     if(!obj)
     {
        console.log('object not Selected');
     }else
     {
        console.log('Object  selected');
     }
     if (!canvas.getActiveGroup()) 
     {
        console.log('if part executed--object not selected');

        curvedText[cur] = new CurvedText(canvas, {});
        curvedText[cur].center();
        curvedText[cur].setText($(this).val());
        cur++;


    } else {
        console.log('Else part executed-object selected');
        act.setText($(this).val());

    }
4

1 回答 1

1

getActiveGroup似乎是越野车。getActiveObject但是返回活动组,因此您可以使用它。问题是您将无法通过组访问您的setText方法,因此您必须保留CurvedText对组中实例的引用:

function CurvedText( canvas, options ){

  ...

  this.group.curvedText = this;
}

进而

var act = canvas.getActiveObject();
act.curvedText.setText($(this).val());

就像我在这里做的那样。

于 2013-09-13T11:16:40.250 回答