2012-06-06 3 views
0

Использование Firefox и, возможно, других современных браузеров, нам разрешено выбирать текст страницы, а затем Drag and Drop наш выбор.GWT DOM catching drag and drop browser event

Адресат этого перетаскивания, может быть любым HTML-вход, или даже адрес бара, поле поиска и т.д.

Я хотел бы знать, если такого рода drag event обрабатываются браузером в особым образом, или если это возможно сделать (событие DOM или что-то в этом роде).

Чтобы быть более конкретным, я пытаюсь добавить эту функцию удаления к некоторым объектам 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 имеет встроенную поддержку для native drag and drop.

По вашему описанию, вы, кажется, ищут виджеты, реализующие HasDropHandlers, и есть немного больше, чем несколько ;-)

Это также довольно легко, чтобы добавить его в пользовательском виджет (имеет вид как это делается во встроенных виджетах, таких как FocusPanel или Grid)

+0

Я пробовал эти интерфейсы и некоторые другие, но мне это не удалось. Я обновил свой вопрос. Возможно, то, чего я пытаюсь достичь, выходит за рамки законов природы. –

+1

Можете ли вы показать код, который вы пробовали? Возможно, вам придется добавить «DragOverHandler», чтобы установить _effect allowed_ в нечто иное, чем «none», и отменить событие, чтобы «DropEvent» был отправлен на ваш «DropHandler». –

+0

Работал как шарм. –