当带有glassEnabled的GWT DialogBox处于活动状态时,阻止页面滚动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当带有glassEnabled的GWT DialogBox处于活动状态时,阻止页面滚动相关的知识,希望对你有一定的参考价值。

在我的GWT应用程序中,我使用这样的DialogBox:

    DialogBox dialog = new DialogBox(autoHide, true);
    dialog.setText("Hello GWT DialogBox");
    dialog.setGlassEnabled(true);
    dialog.center();
    dialog.show();

我的整个页面很长,它垂直滚动。

这很好用,弹出对话框,页面的其余部分变暗。在对话框外滚动(使用鼠标滚轮)时没有任何反应,这很好。但是当在对话框内滚动时,整个页面会滚动,包括对话框本身。这感觉非常错误。

甚至可以使用对话框内的滚动将对话框滚出可见区域,然后无法向后滚动,因为在对话框外滚动不会执行任何操作。

在对话框中使用鼠标滚轮时如何防止页面滚动?

答案
dialog.setModal(true);

可能有用。这会丢弃所有不影响DialogBox的事件,即影响底层页面的滚动。

如果鼠标在DialogBox中,页面仍会滚动,从不等待,不工作。

发现这个虽然:

https://www.mail-archive.com/google-web-toolkit@googlegroups.com/msg62527.html

可能有用。

以上是关于当带有glassEnabled的GWT DialogBox处于活动状态时,阻止页面滚动的主要内容,如果未能解决你的问题,请参考以下文章

带有自定义项的 GWT 组合框

GWT 单选按钮更改处理程序

在 GWT-RPC 中使用嵌套枚举

带有 gwt 请求工厂的会话上下文

使用带有 gilead 的注释通过 gwt 进行休眠时,我收到 oneToMany 关联错误

GWT 项目在部署时不会从 RPC 加载数据