我有一个标准链接,例如:
<a href="/test">Test</a>
在Chrome中,点击并拖动此链接会导致光标变为拖动地球的箭头。地球可以放在网址或书签栏上。
我正在尝试在JavaScript中实现拖放文件系统接口。所有文件和文件夹都标有“a”标签。当我单击拖动一个时,会出现地球图标并打破JavaScript事件(在这种情况下,JQuery的鼠标移动)。
有关如何阻止Chrome将拖动链接转换为全球的任何想法?
编辑:使用一些位置合适的event.preventDefault()确实可以解决问题。
答案 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