Konva 在层之间传播事件
Konva Propagate events between layers
>我在形状图层的顶部有一个透明的拖动层。使交互变得与众不同,因此我可以切换拖动的作用(在滚动视图或编辑形状位置之间)。 但是,除非我关闭拖动模式(通过隐藏中间的透明 Rect),否则不会在其下方的形状层上触发其他鼠标悬停事件。我需要将非拖动鼠标事件传播到其下方的图层。 有很多形状,鼠标悬停在事件上。
是否有一种简单的方法可以将鼠标悬停在事件上传播到其下方的层,或者我是否需要编写一个自定义处理程序来触发每个形状的事件?
我设法解决了这个问题,而不必在层之间传播事件。仅当未单击形状时,我才会在形状图层上的形状后面放置一个可拖动的表面。然后为了覆盖是否单击了形状,在形状 dragstart 事件中,如果设置了可分层可拖动标志,我会在形状上执行 stopDrag(),在图层上执行 startDrag()。这允许我使用简单的标志切换是要拖动整个图层,还是仅拖动形状。
我不得不清理一些 dragend 事件上的形状位置,但您也可以使用形状上的拖动边界来做到这一点。
shape.on('dragstart', function () {
if (layerDraggable) {
shape.stopDrag();
shapeLayer.startDrag();
}
}
相关文章:
- 停止jquery中元素上的事件传播
- GWT-允许鼠标事件在两个叠加画布之间传播
- 同一元素上的多个事件,停止立即传播
- 停止点击事件传播
- 在余烬中传播悬停事件
- 为什么我的按钮正在将事件传播到其父项
- 我可以让事件在发起者和后代之间传播吗
- 我可以停止某个函数上的事件传播吗
- AngularJS:如何通过点击停止事件传播
- jQuery scroll()事件没有't传播
- 避免通过指令中的事件传播进行自切换
- 正在停止对多个悬停事件的传播
- Jquery点击事件在Ajax之后的第二次点击中传播
- 棱角分明如何防止点击事件传播到日期选取器元素
- 传单.js阻止某些事件的传播
- 无法为(稍后的)javascript生成的元素传播事件侦听器(提交表单)
- Konva 在层之间传播事件
- jQuery:传播事件&行动
- Ember.js-在控制器/路由器链上传播事件
- React.js中的动态子导航(传播事件和属性)