Javascript 正在查找KineticJS上与组及其子级一起触发事件的详细信息

Javascript 正在查找KineticJS上与组及其子级一起触发事件的详细信息,javascript,events,triggers,kineticjs,Javascript,Events,Triggers,Kineticjs,我计划在我的应用程序中创建一些可以作为一个组使用的元素。例如,我可以创建一个圆、一个三角形和一个正方形,并将它们分组。因此,我可以拖放组等。我还希望有时能够单独编辑组元素 为此,我可以为组调用setDragable(false),为所有子级调用setDragable(true),并分别编辑它们。当我希望将它们视为一个组时,我可以为组形状调用setDraggable(true),为组的所有子级调用setDraggable(false) 我认为这部分工作得很好。问题在于事件处理。我试图搜索它,但没有

我计划在我的应用程序中创建一些可以作为一个组使用的元素。例如,我可以创建一个圆、一个三角形和一个正方形,并将它们分组。因此,我可以拖放组等。我还希望有时能够单独编辑组元素

为此,我可以为组调用setDragable(false),为所有子级调用setDragable(true),并分别编辑它们。当我希望将它们视为一个组时,我可以为组形状调用setDraggable(true),为组的所有子级调用setDraggable(false)

我认为这部分工作得很好。问题在于事件处理。我试图搜索它,但没有找到任何关于分组对象上事件行为的内容。据我所知,来自组的事件子项覆盖了来自组的事件调用。例如,如果组中的元素E1有一个“onclick”事件,并且当我单击E1时组对象也有一个“onclick”事件,那么将触发的唯一事件是E1对象中的事件

所以。。。。 TL;DR:有人能解释一下KineticJS上的事件触发是如何与组、子组和嵌套组一起工作的吗

编辑:

  • http*//jsfiddle*net/Kaze_Senshi/GKFrK/ 我做了一个小项目来测试KineticJS的群体行为。在开始时,有一个组有矩形,一个组有圆形,您可以加入这些组,并从方形组中分别移动每个元素,单击屏幕左侧的按钮。这是一个非常简单的页面,带有丑陋的代码,仅用于测试目的

  • 最后,我想用KineticJS操作我项目中的group对象,正因为如此,我在做这些问题,我认为您可以理解它是如何在这个单一测试页面中工作的。您可以在src/Model/InterfaceResource.js中找到更多详细信息


如果您有一个组及其子组,并且希望打开和关闭事件,您可以执行以下操作:

 group.setListening(false); // the group will not listen for events

 groupChild.setListening(true); // the child is listening for any defined events on the child.

为了帮助您指出正确的方向,shape事件的触发优先级高于group事件,正如您所注意到的,如果两者都有onclick,那么您必须添加一些逻辑,以便它们不会相互干扰。一个简单的方法是设置某些标志,根据特定条件打开或关闭事件。

首先,您需要一些代码,解释您尝试过的内容和遇到的问题,然后人们可以更容易地帮助您。啊,很抱歉没有代码的问题,我用两个链接编辑了我的问题,我不得不屏蔽JSFIDLE链接,因为网站不允许我发布链接。只需将“*”改为“:”或“.”。看一看,如果你能给我更多关于这个问题的信息,我会很高兴的。非常感谢。