在拖动/拖放事件上获取 Firefox 内容可编辑的拖放光标位置

Get Firefox contenteditable drag-and-drop cursor position on dragover/drop event

本文关键字:拖放 编辑 光标 位置 Firefox 拖动 事件 获取      更新时间:2023-09-26

我正在尝试组装一个图像上传器。我想通过拖放将图像上传到内容可编辑区域。

当我拖动文件时,我看到光标在移动 - 除非调用了 e.preventDefault()。

在Chrome中,有一个功能document.caretRangeFromPoint(x, y)将坐标转换为光标位置(范围)。据我所知,Firefox 中没有这样的。(请证明莫错了)

那个移动光标是我可以看到以某种方式被捕获的吗?也许在拖拽/拖放事件中?至于我的实验,它不能作为拖累事件中的一个范围访问。我希望我错了。

我在以下线程中遇到了答案(在实现了自己的caretPositionFromPoint之后,该死的:D)

在 Firefox 中,您可以分别在 event.rangeParent 和 event.rangeOffset 中访问它。

希望这能拯救某人的屁股。

所有

浏览器最终都希望支持的基于标准的方法document.caretPositionFromPoint()而Firefox还不支持它。不过,它有一个开放的错误:

https://bugzilla.mozilla.org/show_bug.cgi?id=654352

更新

Firefox 从版本 20 开始就支持此功能。