从外部事件区域开始时如何将Click / Touch事件传递给PopupPanel?

时间:2013-12-01 23:23:14

标签: javascript html dom gwt mgwt

我为鼠标事件和触摸事件描述了以下问题。 我想做以下事情。具有以下功能的单击/标签区域:

  • 如果我在此区域按下鼠标/触摸开始,则应显示GWT PopupPanel。
  • 当鼠标仍然按下/触摸未释放时,PopupPanel应该能够处理事件,如MouseOverEvent / TouchStartEvent。

我可以设法让PopupPanel发生。但是,由于鼠标仍然按下/触摸未释放,因此PopupPanel上不会触发任何事件。如果我在PopupPanel中使用FocusPanel或mgwt TouchPanel并不重要。如果我在按下鼠标或按下触摸的情况下进入PopupPanel,将不会触发事件。

PopupPanel的作用:

PopupPanel应该作为一个上下文菜单,其中一个可以选项卡,弹出菜单发生,一个滑过弹出菜单(不释放鼠标/手指),然后在菜单项上选择释放鼠标或手指。

当事件在外面开始时,是否有办法在PopupPanel内启用事件?当PopupPanel发生时我可以触发mousedown或touch start事件,这样当我在PopupPanel外面开始点击/触摸时我可以使用事件吗?

下图显示了这种情况:

enter image description here

编辑:

顺便说一下,我使用GWT-Platform的PopupPresenter。这会在

之前将PopupPanel添加到页面末尾

我尝试了以下内容。在创建页面后立即启动触摸事件之前,我将页面的PopupPanel放入。结构是这样的。

<body>
  < div />
  < div />
  <gwt-PopupPanel />
</body>

然后我隐藏弹出窗口并在触摸开始时显示它。再次没有触发事件,因为当弹出窗口可见时,鼠标被按下/手指仍在显示屏上。

编辑:以下是此案例的示例项目:https://github.com/confile/popup-test

0 个答案:

没有答案