寻找关于KineticJS与组及其子事件触发的细节
Looking for details about event triggering on KineticJS with groups and its children
我计划在我的应用程序中创建一些元素,可以作为一个组使用。例如,我可以创建一个圆,一个三角形和一个正方形,并将它们组合在一起。所以我可以拖拽组等等。我还希望有时能够单独编辑组元素。
对于这个,我可以为组调用setDraggable(false),为所有子节点调用setDraggable(true),并单独编辑它们。当我希望将它们作为一个组来处理时,我可以对组形状调用setDraggable(true),对组的所有子形状调用setDraggable(false)。
我认为这部分工作得很好。问题在于事件处理。我试着去搜索,但我没有找到任何关于分组对象上事件行为的内容。据我所知,来自组子的事件覆盖了来自组的事件调用。例如,如果来自组的元素E1有一个"onclick"事件,并且组对象也有一个"onclick"事件,当我单击E1时,将触发的唯一事件是来自E1对象的事件。所以…有人能解释一下事件触发是如何在KineticJS中使用群组、子群组和嵌套群组的吗?
编辑:http *//jsfiddle * net/Kaze_Senshi/GKFrK/我做了一个小项目来测试KineticJS的群体行为。在开始时,有一个矩形组和一个圆形组,您可以加入组,并从正方形组中单独移动每个元素,单击屏幕左侧的按钮。这是一个非常简单的页面,代码丑陋,只是为了测试目的。
https://github.com/wfaria/sketchProject/blob/development/tests/interfaceResourceTest.html最后,我想用KineticJS从我的项目中操纵组对象,因为我正在做这些问题,我认为你可以理解它是如何工作的,看起来这个单一的测试页面。你可以在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.
和帮助指向你在正确的方向,形状事件被触发优先于组事件,正如你已经注意到的,如果都有一个onclick,那么你必须添加一些逻辑,使他们不会相互干扰。一种简单的方法是设置某些标志,根据特定的条件将事件打开或关闭。
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- 如何在master中调用细节网格作为单击事件
- jQuery破坏Meteor中自定义聚合物事件的“细节”
- 寻找关于KineticJS与组及其子事件触发的细节