Konva在层之间传播事件

时间:2016-02-05 16:22:37

标签: javascript canvas kineticjs konvajs

我在形状图层的顶部有一个透明拖动图层。非常适合使交互变得清晰,因此我可以切换拖动操作(在滚动视图或编辑形状位置之间)。但是,除非我关闭拖动模式(通过隐藏插入的透明Rect),否则其他鼠标悬停事件都不会触发其下方的形状图层。我需要将非拖动鼠标事件传播到它下面的层。鼠标悬挂在事件上有很多形状。

是否有一种简单的方法可以将鼠标悬浮在事件下面的图层上,或者我是否需要编写自定义处理程序来为每个形状触发事件?

1 个答案:

答案 0 :(得分:3)

我设法解决这个问题,而不必在层之间传播事件。只有在没有点击形状的情况下,才在形状图层的形状后面放置一个可拖动的表面。然后在形状dragstart事件上覆盖是否单击了一个形状,如果设置了一个layerdraggable标志,我在形状上执行stopDrag(),在图层上执行startDrag()。这使我可以用一个简单的标志切换,无论我是想要整个图层拖动,还是仅仅是形状。

我不得不清理dragend事件中的一些形状位置,但也可以通过形状上的拖拽来做到这一点。

System.setProperty("javax.net.ssl.trustStore",path_to_your_cacerts_file);