2012-10-15 99 views
2

我試圖捕獲dragover和拖放事件。現在,我捕捉那些添加DOM處理程序,以我的RootLayoutPanel事件:GWT捕獲拖放事件

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和我的應用程序拖放事件一條筆直的路?

感謝

回答

2

嘗試使用RootPanel.get()代替RootLayoutPanel.get()

FYI RootLayoutPanel.get()RootLayoutPanel單例添加到RootPanel.get(); RootPanel.get()包裝文檔的<body>一個RootPanel裏面,所以它應該捕捉一切(提供的充滿視口,其中RootLayoutPanel保證)。