在 KineticJS 中按类名从阶段获取多个对象
Posted
技术标签:
【中文标题】在 KineticJS 中按类名从阶段获取多个对象【英文标题】:Get multiple objects from stage by class name in KineticJS 【发布时间】:2012-12-10 04:09:53 【问题描述】:我正在使用 javascript 库 Kinetic.js
用于 html5 画布。
这是stage.get()
从舞台(画布)获取对象的方法。我已经为每个对象分配了 id 或类名
如果我通过 id var obj = stage.get('#obj_id')
获取对象,它可以工作,但如果尝试通过类名 var objs = stage.get('.obj_class_name')
获取多个对象,它将返回一个空的 []
对象
如何从舞台上获取多个对象。
【问题讨论】:
你能提供更多的上下文吗?一些关于如何构造对象以及将它们添加到舞台的代码会很好。现在,很难理解问题出在哪里,因为stage.get('.object_name')
应该可以工作,如下所示:html5canvastutorials.com/kineticjs/…
是的,@Rikonator 所说的 - 如果您为每个对象定义了 name
参数,stage.get('.object_name')
应该可以工作。如果您可以提供更多上下文和/或代码的 jsfiddle。
【参考方案1】:
好吧,您可以只执行 .getChildren() 来获取所有孩子,然后使用循环和条件遍历数组以添加您创建的新数组。
【讨论】:
【参考方案2】:您可以使用name
属性。它作为class
in HTML 工作。使用舞台/图层功能find('.<name>')
选择名称为<name>
的所有元素(点是必需的)。
【讨论】:
以上是关于在 KineticJS 中按类名从阶段获取多个对象的主要内容,如果未能解决你的问题,请参考以下文章