我正在使用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 dragging和Changing Mouse Cursor for HTML5 Drag Drop Files (GMail Drag Drop),但在拖动时似乎没有任何帮助实际更改/替换图标。
感谢任何帮助。
测试环境:
Ubuntu 12.04.1 Chrome 22
干杯,
答案 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;
}