【发布时间】:2013-02-02 13:25:44
【问题描述】:
在 HTML5 的浏览器客户区上拖动元素时,如何将光标更改为我想要的任何光标?
到目前为止,我只能在拖动时显示默认光标(除了不支持拖放的地方没有光标)。
我不是在谈论以下任何事情:
使用
event.dataTransfer.setDragImage()在光标旁边显示图像使用
event.dataTransfer.dropEffect在光标旁边显示副本或链接符号,或将光标更改为无符号在 Firefox 中,使用
event.dataTransfer.mozCursor,因为它只能执行默认的系统行为,或者显示箭头光标,这两者都没有帮助(此外,我想要跨浏览器支持,虽然我主要针对 Chrome )
我尝试了许多其他技巧,包括使用 CSS :hover 和 :focus,以及许多 JavaScript 技巧,但均无济于事。
感谢您的帮助。
【问题讨论】:
-
我认为使用 html 5 拖放(而不仅仅是普通的鼠标移动)时无法更改光标。我认为这是出于安全考虑,以确保网页不会试图诱使用户认为放入某个区域的行为会与预期不同。我只是切换到使用普通鼠标移动而不是拖放。
-
我也有同样的问题。我同意你的看法。我们可能需要切换回 mousedown/mousemove 事件而不是 H5 Dnd
-
我认为您需要定位“可放置”。类似
document.querySelector('.droppable').style.cursor = 'whatever' -
你为什么不在这里尝试解决方案stackoverflow.com/a/27811047/3513687
标签: html drag-and-drop mouse-cursor