如何找到Kinetic生成的画布的ID?

时间:2013-01-23 21:24:11

标签: kineticjs

在创建我想要使用Kinetic的画布后,我想以其他方式操纵它。我无法在文档中找到Kinetic创建的画布的ID。我想通过使用getElementById来获取它。谢谢你的时间。

2 个答案:

答案 0 :(得分:1)

不幸的是,Kinetic没有使用ID定义Canvas。使用“getCanvas”函数可能有效,但您需要从特定的图层调用它。对我来说最好的解决方案是使用div容器的id并调用“getElementsByTagName”来访问Canvas元素。但通常你只有一个Canvas,所以你可以这样得到它:

console.log(document.getElementsByTagName('canvas')[0]);

唯一的问题是Kinetic为每个图层创建一个单独的Canvas元素,所以最好只在你的项目中使用一个图层,或者你必须浏览所有图层:

var canvases = document.getElementsByTagName('canvas');
for (var i = 0; i < canvases.length; i++) {
    console.log(canvases[i]);
}

答案 1 :(得分:0)

使用getCanvas()会有效吗? (Kinetic documentation只是说它用于“获取图层画布”)

此外,我不确定这个想法是否相同,但您可以查看this question