GWT 2.4 HTML 5拖放APIS - 拖动时更改光标

时间:2012-10-11 14:44:11

标签: html5 gwt drag-and-drop

我正在使用GWT 2.4拖放API来拖动元素以便在窗口小部件之间进行数据传输。实现拖放行为是直截了当的,但是我在拖动元素时更改光标时遇到了问题。 我做了一些研究,我发现了一些关于如何实现这一目标的文章。

这篇文章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 对象。尽管GWT Drag and Drop API没有暴露这些属性,但我可以通过 JSNI 设置它们,但效果与以前相同(使用CSS)。

我在同一主题上发现了这些问题HTML5 Drag & Drop Change icon/cursor while draggingChanging Mouse Cursor for HTML5 Drag Drop Files (GMail Drag Drop),但在拖动时似乎没有任何帮助实际更改/替换图标。

感谢任何帮助。

测试环境:

Ubuntu 12.04.1 Chrome 22

干杯,

1 个答案:

答案 0 :(得分:0)

我想最简单的方法是使用:

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

每当你开始移动时:

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

每当你完成。

您也可以设置CSS-property:

cursor: whatever;

你想要什么元素。你通常会这样使用它:

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

请参阅:http://www.w3schools.com/cssref/pr_class_cursor.asp