2012-10-11 4 views
2

Я использую API перетаскивания GWT 2.4 для перетаскивания элементов для передачи данных между виджетами. Реализация поведения перетаскивания была прямой, но у меня проблемы с изменением курсора при перетаскивании элемента. Я немного поработал, и я нашел несколько статей о том, как я мог это достичь.GWT 2.4 HTML 5 перетаскивание APIS - изменение курсора при перетаскивании

Эта статья http://blog.vjeux.com/2012/css/css-cross-browser-drag-cursor.html предполагает, что это можно сделать, установив объект курсором в зависимости от того, какое значение мы хотели бы получить. Я пробовал (cursor: -webkit-drag; или cursor: move;) на элементе, который нужно перетащить, или на элементе, где элемент можно отбросить, но добавлен только небольшое изображение в нижнем правом углу значка курсора.

Принимал смотреть на эту http://www.html5rocks.com/en/tutorials/dnd/basics/, говорят, что курсор (эффект) может быть изменен при перемещении или падении, установив effectAllowed и dropEffect от DataTransfer объекта. Несмотря на то, что API перетаскивания GWT не раскрывает ни одно из этих свойств, я могу установить их через JSNI, но эффект был таким же, как и раньше (с CSS).

Я нашел эти вопросы HTML5 Drag & Drop Change icon/cursor while dragging и Changing Mouse Cursor for HTML5 Drag Drop Files (GMail Drag Drop) по тому же вопросу, но ни один из них не помог изменить или заменить значок при перетаскивании.

Любая помощь приветствуется.

Условия испытаний:

Ubuntu 12.04.1 Chrome 22

Cheers,

ответ

0

Я думаю, самый простой способ заключается в использовании:

RootPanel.getBodyElement().getStyle().setCursor(Cursor.MOVE); 

всякий раз, когда вы начинаете двигаться и:

RootPanel.getBodyElement().getStyle().setCursor(Cursor.DEFAULT); 

всякий раз, когда вы делаете.

Также вы можете установить CSS-свойство:

cursor: whatever; 

на любой элемент, который вы хотите. Вы, как правило, использовать его как это:

div.over-this-div-the-cursor-becomes-different:hover { 
    cursor: move; 
} 

см: http://www.w3schools.com/cssref/pr_class_cursor.asp

+0

Это SetCursor трюк не похоже на работу во время, если установлен во время DND –

+0

Спасибо за ваш ответ шума. Я пробовал то, что вы предложили, но это не сработало. Я просмотрел пример из этого сообщения http://stackoverflow.com/questions/10119514/html5-drag-drop-change-icon-cursor-while-dragging, но курсор не изменился. Я не понял, если вы можете изменить курсор при перетаскивании. Возможно нет. Большинство примеров, которые я проверил, устанавливают курсор перед перетаскиванием. Я должен продолжать копать или просто работать. Cheers – orangeeli

+0

Hi orangeeli. Извините, но, похоже, это невозможно сделать прямо сейчас, по крайней мере, в firefox. Я только что нашел https://developer.mozilla.org/en-US/docs/DragDrop/DataTransfer#mozCursor Извините за мой неудобный ответ. – newnoise

Смежные вопросы