在Kinetic.js中通过多层处理事件
Handle events through multiple layers in Kinetic.js?
我在第1层上有一个圆圈,然后在第2层上有个正方形。圆的直径是正方形的宽度,它们的中心是相同的,圆在正方形的顶部。我该如何设置,以便如果我在第1层触发任何事件,则在第2层的相同位置执行相同的事件。所以在这种情况下,如果我点击圆圈,方块的点击事件也会被触发。当然,这并不意味着我只是想把圆圈的事件与广场的事件联系起来,而是我基本上希望事件在两层上都被触发。
例如,如果
circle.on( "click", function() {
alert("foo");
});
square.on( "click", function() {
alert("bar");
});
那么点击圆心应该会触发方形点击事件。
而不是
circle.on( "click", function() {
alert("foo");
square.simulate("click"); // don't want this
});
将圆形和方形添加到一个组中,然后将单击事件匹配到该组中,怎么样?
Kinetic有两件事可以帮助您。
- getIntersections()--返回鼠标单击点下的所有形状
- fire()--引发事件
Kinetic文档提到getIntersections()执行缓慢,所以他们更喜欢getIntersection(),但我从来没有用过,所以我不知道用了多少。
http://kineticjs.com/docs/Kinetic.Stage.html#getIntersection
希望这能有所帮助。
相关文章:
- 如何通过bxSlider回调api处理事件
- 在Kinetic.js中通过多层处理事件
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- HTML5拖放;Drop-使用jQuery处理事件
- 如何查找触发或处理事件的 Javascript
- 在 Web 应用中处理事件跟踪的最佳(高性能)方法
- Dojo表单处理事件
- CSS Javascript在1 onClick上处理2事件
- 如何在父视图中绑定子视图处理事件的上下文
- 通过更改HTML元素上的动态类名来处理事件列表器
- 如何在三星智能电视中使用按钮处理事件
- 如何获取表单处理事件
- 如何使用 Web 应用处理事件
- JQuery 处理事件,但不执行函数
- 如何在 jsdoc 中使用@fires处理事件名称中的点
- jqGrid如何处理事件在编辑列后输入键,这要归功于editRow
- 尝试在状态“root.loaded.saved”中处理事件“成为无效”
- 用于处理事件的 Jquery UI 滑块
- 在处理事件时,如何定位具有特定类的元素
- 如何在加载音频源文件时使用 js/jquery 来处理事件