当用户离开GXT网格时,我可以捕获哪些事件?

时间:2009-04-10 20:12:45

标签: gwt gxt

我有一个广泛使用GXT(版本1.2.2)网格的网络应用程序。我想警告用户是否进行了更改但是没有保存。

当我在弹出对话框中使用网格时,用户离开的唯一方法是通过按钮(关闭或确定)。如果我将一个SelectionListener添加到Close按钮,我可以执行“isDirty()”检查并警告用户。

如果我没有使用对话框,则不存在离开页面的限制。用户可以单击侧面菜单,选择不同的选项卡,点击我们在每个页面上的刷新或下一页按钮。我可以听取每个人的活动,但有更简单的方法吗?像“卸载前”事件被解雇的东西?

2 个答案:

答案 0 :(得分:0)

Window.addCloseListener

或者在GWT 1.6中:

Window.addCloseHandler

您无法阻止窗口关闭,但您可以提示用户单击取消,这将使页面保持打开状态。在用户选择确认窗口关闭后,但在卸载页面之前,您还可以执行最后机会保存操作。

答案 1 :(得分:0)

试试这个:

Window.addListener(Events.Close,
     new Listener<ComponentEvent>() {
          public void handleEvent(ComponentEvent be) {
                //Do something
          }
});

Window.addListener(Events.Detach,
         new Listener<ComponentEvent>() {
              public void handleEvent(ComponentEvent be) {
                    //Do something
              }
    });