Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript kineticjs向舞台添加元素_Javascript_Jquery_Kineticjs - Fatal编程技术网

Javascript kineticjs向舞台添加元素

Javascript kineticjs向舞台添加元素,javascript,jquery,kineticjs,Javascript,Jquery,Kineticjs,我是JS和KineticJS的新手,想知道是否有人能帮助我理解Kinetic.Stage节点是如何工作的。我已经将其用作起点,但希望能够在单击按钮时将对象(如new Kinetic.Text()或new Kinetic.Group())附加到现有阶段 我尝试做的一个例子是在画布旁边有一个表单,允许用户输入文本,单击“go”,然后让“他们输入的文本”显示在画布内 我尝试在document.ready和global范围内声明“var stage”,认为我可以从函数中访问该阶段,例如: functio

我是JS和KineticJS的新手,想知道是否有人能帮助我理解Kinetic.Stage节点是如何工作的。我已经将其用作起点,但希望能够在单击按钮时将对象(如new Kinetic.Text()或new Kinetic.Group())附加到现有阶段

我尝试做的一个例子是在画布旁边有一个表单,允许用户输入文本,单击“go”,然后让“他们输入的文本”显示在画布内

我尝试在document.ready和global范围内声明“var stage”,认为我可以从函数中访问该阶段,例如:

function writeTextToStage(stage) {
     var text = new Kinetic.Text({
       x: 190,
       y: 15,
       text: 'Simple Text',
       fontSize: 30,
       fontFamily: 'Calibri',
       textFill: 'green'
     });
      var layer = new Kinetic.Layer();
      layer.add(text);
      stage.add(layer);
      stage.draw();
}

window.onload = function(){
    var stage = new Kinetic.Stage({
        container: "designer",
        width: 578,
        height: 520
    });
    var go = document.getElementById('go');
    go.addEventListener('mousedown', writeTextToCanvas(stage);
};
无论如何,如果“stage”对象是在另一个函数--“initStage()”中声明的,那么是否可以在初始化stage节点之后获取该节点,以便向其追加内容?我尝试通过DOM元素$('kineticjs-content').children()访问它[0]

请帮忙。kineticjs.com上的文档不是很详细。
谢谢

您需要在函数外部创建层,然后在函数中只需将文本添加到层

function AddText() {
   var text = new Kinetic.Text({
   ...
   });
  layer.add(text);
}

最后一行缺少paren-
go.addEventListener('mousedown',writeTextToCanvas(stage))谢谢,感谢您的帮助,但这段代码或多或少只是我正在尝试做的一个示例,而不是我正在使用的代码。我更好奇的是,是否有可能在创建阶段后获得阶段并向其添加层。您希望在阶段中附加什么,为什么?上面的代码看起来很好(除了缺少的括号),所以不确定您想在这里做什么。