2

我正在尝试捕获拖放事件。现在我正在捕获这些事件,将 dom 处理程序添加到我的 RootLayoutPanel:

dragOverHandler = RootLayoutPanel.get().addBitlessDomHandler(this, DragOverEvent.getType());
dropHandler = RootLayoutPanel.get().addBitlessDomHandler(this, DropEvent.getType());

问题是这段代码在显示弹出窗口时没有捕获事件,并且拖放在弹出窗口本身或其周围的玻璃上。

我也尝试过使用本机预览处理程序,但似乎没有在拖放事件上调用它:

Event.addNativePreviewHandler(new Event.NativePreviewHandler() {            
    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        GWT.log(event.getNativeEvent().getType());  
    }
});

是否有直接的方法来捕获我的应用程序中的所有拖放事件?

谢谢

4

1 回答 1

2

尝试使用RootPanel.get()而不是RootLayoutPanel.get().

仅供参考,RootLayoutPanel.get()RootLayoutPanel单例添加到RootPanel.get(); RootPanel.get()将文档包装<body>在 aRootPanel中,因此它应该捕获所有内容(前提是主体填充了视口,这是RootLayoutPanel确保的)。

于 2012-10-15T18:12:06.690 回答