如何在Dart,Dartium中防止默认光标样式

时间:2013-03-13 14:53:14

标签: dart dartium

我正在尝试阻止在Dart中拖动的默认光标样式。在onDragStart方法中,我将光标样式设置为'move',然后恢复为onDragEnd中的默认值:

onDragStart(e) {
    prevCursor = placeholder.style.cursor;      
    placeholder.style.cursor = 'move';
}

onDragEnd(e) {
    placeholder.style.cursor = prevCursor;
}

拖动时,光标仍默认为“不允许”样式。我已经尝试了很多方法来防止这种情况,例如在onDragStart方法中阻止默认为onSelectStart,这在javascript中被推荐为chrome的修复,但在Dart中不起作用:

document.onSelectStart.listen( (e) {
    e.preventDefault();
    return false; 
});

我也尝试在CSS中设置默认值,这不是我想要实现的目的,但它仍然不起作用:

a:drag {
 cursor:move;
}

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

嗯...只是一个猜测,但也许试着看看你是否还需要处理onDragEnter?

答案 1 :(得分:0)

放下目标将光标图标设置为“不允许”,如果其处理程序取消拖动输入事件等。
为drop-zone编写处理程序是最简单的解决方案。

为避免此问题,可以捕获鼠标按下事件,鼠标移动事件等,并像我在此处一样移动元素:Moving elements by dragging in Dart

此人更详细地解释了相关问题:http://mereskin.github.io/dnd/

排序无关紧要,但有些浏览器只使用拖动元素时可用的默认光标图标,并且无法更改该默认值。

相关问题