在 KineticJS 中按类名从阶段获取多个对象

Posted

技术标签:

【中文标题】在 KineticJS 中按类名从阶段获取多个对象【英文标题】:Get multiple objects from stage by class name in KineticJS 【发布时间】:2012-12-10 04:09:53 【问题描述】:

我正在使用 javascriptKinetic.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 属性。它作为classin HTML 工作。使用舞台/图层功能find('.<name>') 选择名称为<name> 的所有元素(点是必需的)。

【讨论】:

以上是关于在 KineticJS 中按类名从阶段获取多个对象的主要内容,如果未能解决你的问题,请参考以下文章

防止在 kineticJS 阶段右键单击默认上下文菜单?

在 EaselJS 中按名称定位多个阶段的子级

使用 KineticJS 从层中删除对象

JQuery:如何从没有根元素的 HTML 数据中按类名获取 div

在jQuery中按类名计算Dom元素

从jQuery中的多个相同的类名中获取值CSS