拖动链接时停止将光标更改为地球仪

时间:2011-07-21 04:18:03

标签: javascript css google-chrome drag-and-drop

我有一个标准链接,例如:

<a href="/test">Test</a>

在Chrome中,点击并拖动此链接会导致光标变为拖动地球的箭头。地球可以放在网址或书签栏上。

我正在尝试在JavaScript中实现拖放文件系统接口。所有文件和文件夹都标有“a”标签。当我单击拖动一个时,会出现地球图标并打破JavaScript事件(在这种情况下,JQuery的鼠标移动)。

有关如何阻止Chrome将拖动链接转换为全球的任何想法?

编辑:使用一些位置合适的event.preventDefault()确实可以解决问题。

2 个答案:

答案 0 :(得分:3)

尝试在onmousedown中使用event.preventDefault()

<a href="/test.js" onmousedown="event.preventDefault()">Test</a>

答案 1 :(得分:0)

这是一个老问题,但仍然排在首位。按照另一个答案中的建议执行 event.preventDefault() 可防止发生拖动事件。我发现将 dataTransfer.effectAllowed 事件中的 ondragstart 属性设置为 move 之类的内容可以摆脱正在设置的地球仪。见https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/effectAllowed

我针对 Chromium 记录了一个关于不允许在发生拖动事件时设置光标的问题:https://bugs.chromium.org/p/chromium/issues/detail?id=1232555