gpt4 book ai didi

javascript - Konva 在层间传播事件

转载 作者:行者123 更新时间:2023-11-29 19:16:08 25 4
gpt4 key购买 nike

我在形状层之上有一个透明的拖动层。非常适合使交互与众不同,因此我可以切换拖动的功能(在 ScrollView 或编辑形状位置之间)。但是,除非我关闭拖动模式(通过隐藏介入的透明 Rect),否则其他鼠标悬停事件都不会在其下方的形状层上触发。我需要将非拖动鼠标事件传播到它下面的层。鼠标悬停事件有很多形状。

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

最佳答案

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

我必须在 dragend 事件上清理一些形状位置,但您也可以使用形状上的 dragbounds 来完成。

shape.on('dragstart', function () {
if (layerDraggable) {
shape.stopDrag();
shapeLayer.startDrag();
}
}

关于javascript - Konva 在层间传播事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com