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

时间:2012-08-28 10:56:34

标签: javascript html5 gwt mouseevent html5-canvas

我有一个GWT应用程序,它包含两个叠加的画布实例,即屏幕上的位置相同,一个在另一个上面。 (有关如何完成的示例,请参阅http://dev.opera.com/articles/view/html5-canvas-paintinghttp://html5.litten.com/using-multiple-html5-canvases-as-layers。我的代码与第二个链接更相似。)

对于下部画布,我实现了各种鼠标事件处理程序 - mouseUp,mouseDown,mouseMove等。我没有为上部画布实现这样的处理程序。此外,如果这有任何区别,上部画布大多是透明的。

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

我的问题是较低的画布'鼠标事件处理程序不会执行。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用GWT自定义事件(GWT Custom Event)来解决此问题。将mouseUp,mouseDown,mouseMove处理程序连接到上部画布,并将Implement Gwt Custom Event Handler连接到下部画布。现在当MouseUp或MouseDown时事件在上部画布中触发一个自定义事件,该事件将被下部画布捕获。希望这有助于