0

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

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

我可以设法让 PopupPanel 发生。但是,由于鼠标仍然被按下/触摸未释放,因此 PopupPanel 上不会触发任何事件。我在 PopupPanel 中使用 FocusPanel 还是 mgwt TouchPanel 都没有关系。如果我在按下 Mouse 或 Touch 的情况下进入 PopupPanel,则不会触发事件。

PopupPanel 的作用:

PopupPanel 应该用作上下文菜单,可以在其中进行选项卡,弹出菜单出现,在弹出菜单上滑动(不释放鼠标/手指)并在将选择的菜单项上释放鼠标或手指。

当事件在外面开始时,有没有办法在 PopupPanel 内启用事件?我可以在 PopupPanel 发生时触发 mousedown 或 touch start 事件,以便我可以在 PopupPanel 外部开始单击/触摸时使用事件吗?

下图显示了这种情况:

在此处输入图像描述

编辑:

顺便说一句,我使用 GWT-Platform 的 PopupPresenter。这会在之前的页面末尾添加一个 PopupPanel

我尝试了以下。我在页面创建后立即开始触摸事件之前放置了页面的 PopupPanel。结构是这样的。

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

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

编辑:这是这个案例的示例项目:https ://github.com/confile/popup-test

4

0 回答 0