我正在尝试捕捉dragover和drop事件。现在我正在捕获那些为我的RootLayoutPanel添加dom处理程序的事件:
dragOverHandler = RootLayoutPanel.get().addBitlessDomHandler(this, DragOverEvent.getType());
dropHandler = RootLayoutPanel.get().addBitlessDomHandler(this, DropEvent.getType());
问题是此代码在显示弹出窗口时没有捕获事件,并且拖放操作位于弹出窗口本身或其周围的玻璃上。
我也尝试过使用本机预览处理程序,但似乎没有调用dragover也不会调用事件:
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(NativePreviewEvent event) {
GWT.log(event.getNativeEvent().getType());
}
});
有没有直接的方式来捕捉我的应用中的所有dragover和drop事件?
由于
答案 0 :(得分:2)
尝试使用RootPanel.get()
代替RootLayoutPanel.get()
。
仅供参考,RootLayoutPanel.get()
将RootLayoutPanel
单身人士添加到RootPanel.get()
; RootPanel.get()
将文档的<body>
包装在RootPanel
内,因此它应捕获所有内容(前提是 body 填充视口,RootLayoutPanel
确保)