GWT-允许鼠标事件在两个叠加画布之间传播



我有一个GWT应用程序,它包含两个叠加的画布实例,即在屏幕上具有相同的位置,一个在另一个之上。(请参见http://dev.opera.com/articles/view/html5-canvas-painting,http://html5.litten.com/using-multiple-html5-canvases-as-layers举例说明如何做到这一点。我的代码与第二个链接更相似)。

对于下面的画布,我实现了各种鼠标事件处理程序——mouseUp、mouseDown、mouseMove等。我没有为上面的画布实现这样的处理程序。此外,如果这有什么不同的话,上部画布大部分是透明的。

两个画布都有相同的父级(div元素)。

我的问题是下层画布的鼠标事件处理程序不执行。

我的猜测是,上面的画布捕获了事件,并且它们不会传播到下面的画布。你知道解决这个问题的方法吗?有没有一种方法可以告诉GWT小部件"吞下"鼠标事件?

谢谢!

您可以使用GWT自定义事件(GWTCustomEvent)来解决这个问题。将mouseUp、mouseDown、mouseMove处理程序附加到上部画布,将Implement Gwt Custom Event Handler附加到下部画布。现在,当在上部画布中触发mouseUp或mouseDown事件时,会触发一个自定义事件,该事件将被下部画布捕获。希望这能帮助

最新更新