5

使用 KineticJS,是否可以只绑定一次函数?就像 jQuery 等价物一样......

例如。在 jQuery 中

// bad
$('.wrap a').on('click', myHandler);
// good
$('.wrap').on('click', 'a', myHandler);

我也想用 KineticJS 来做这件事,因为会有很多对象。

4

2 回答 2

5

这是来自 KineticJS 的 Eric。目前,您可以使用 container.get() 来获取类似于 jQuery 的节点数组,如下所示:

layer.get('Rect'); // returns all rectangles inside of layer
layer.get('.foo'); // returns all nodes with name foo inside layer
stage.get('#bar'); // returns node with id 'bar'

但是您还不能通过选择器将事件绑定到所有节点,如下所示:

layer.get('Rect').on('click', ...);

我会将它添加到我的待办事项列表中,因此它可能会在几周内发布:)

干杯!

埃里克

于 2012-08-29T23:08:59.887 回答
1

我不知道是否有任何方法可以将侦听器添加到某种类型的所有对象(如果那是您想要做的)。

尽管您可以创建一个组并将听众添加到整个组中。

小提琴:http: //jsfiddle.net/9vsps/

请注意,如果您拖动组中的某些内容,则组中的所有内容都将被拖动。

于 2012-08-29T09:11:18.927 回答