阻止 chrome 在拖动链接时将光标更改为地球仪

Chi*_*dhe 5 javascript css drag-and-drop google-chrome

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

<a href="/test">Test</a>
Run Code Online (Sandbox Code Playgroud)

在 Chrome 中,单击并拖动此链接将导致光标变为拖动地球仪的箭头。地球仪可以放在 URL 或书签栏上。

我正在尝试用 JavaScript 实现拖放文件系统界面。所有文件和文件夹都用“a”标签标记。当我单击并拖动一个时,地球图标会出现并中断 JavaScript 事件(在本例中为 JQuery 的 mousemove)。

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

编辑:使用一些放置良好的 event.preventDefault() 实际上确实解决了问题。

Gho*_*toy 5

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

<a href="/test.js" onmousedown="event.preventDefault()">Test</a>
Run Code Online (Sandbox Code Playgroud)

  • 我在 React 应用程序的“&lt;div&gt;”元素上遇到这个问题,周围或内部没有“&lt;a&gt;”标签。当我添加 `onMouseDown={(event) =&gt; event.preventDefault()}` 时,可拖动的 div(带有 `draggable=true` 和 `onDragStart` 和 `onDragEnd` 处理程序)不再可拖动,这并不奇怪,但是如何否则我可以摆脱这个地球图标吗? (2认同)