2012-06-06 42 views
0

使用Firefox和其他现代浏览器,我们可以选择一些页面的文本,然后选择Drag and Drop我们的选择。GWT DOM捕捉拖放浏览器事件

这拖放的目的地,可以是任何HTML的输入,甚至是酒吧的地址,搜索领域等

我想知道,如果这种drag event由浏览器在处理一个特殊的方式,或者如果有可能捕获这个事件(一个事件或类似事件)。

更具体地说,我试图将这个拖放功能添加到某些GWT对象,然后能够检索选定的文本。

我正在使用GWT。

EDIT,工作溶液

这是一些相关的代码:

TextArea text = new TextArea(); 
SimplePanel panel = new SimplePanel(text); 

TextArea text2 = new TextArea(); 
SimplePanel panel2 = new SimplePanel(text2); 

Button button = new Button("button"); 
button.addDragOverHandler(new DragOverHandler() 
{ 
    @Override 
    public void onDragOver(DragOverEvent event) 
    { 
     GWT.log("onDragOver"); 
    }); 

RootPanel.get().add(panel); 
RootPanel.get().add(panel2); 
RootPanel.get().add(button); 

图片:

Image showing the behavior

使用该按钮的仅仅是一个例子。

这里的目标是通过按钮上的一些处理程序检索文本I want to drop this text over the button

回答

0

GWT内置支持本地拖放

根据你的描述,你似乎在寻找实现HasDropHandlers窗口小部件,并有超过几;-)

它也比较容易将其添加到自定义窗口小部件(看看多一点在如何完成内置小部件,如FocusPanelGrid

+0

我试过接口,和其他一些,但我没有成功。我已经更新了我的问题。也许我想要达到的是超越自然规律。 –

+1

你能显示你试过的代码吗?您可能需要添加一个'DragOverHandler'来将_effect allowed_设置为'none'而不是'none',并取消该事件,因为'DropEvent'将被分派到您的'DropHandler'。 –

+0

工作就像一个魅力。 –