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()追加します。ドキュメントを内にラップするので、すべてをキャプチャする必要があります (ボディがビューポートを埋めている場合は、これが保証されます)。RootLayoutPanelRootPanel.get()RootPanel.get()<body>RootPanelRootLayoutPanel

于 2012-10-15T18:12:06.690 に答える