在dragover / drop事件上获得Firefox满意的拖放光标位置

时间:2012-06-13 01:45:46

标签: javascript drag-and-drop cursor range caret

我正在尝试整理图片上传器。我想通过拖放将图像上传到一个可信任的区域。

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

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

我能看到的移动光标是否会以某种方式被捕获?也许在dragover / drop事件中?至于我的实验,它不能作为dragover事件中的范围访问。我希望我错了。

2 个答案:

答案 0 :(得分:3)

我在下面的thread中得到了答案(在我自己的caretPositionFromPoint实现之后,该死的:D)

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

希望这可以节省某人的屁股。

答案 1 :(得分:1)

所有浏览器最终都支持的基于标准的方法是document.caretPositionFromPoint() Firefox还不支持它。但是它有一个漏洞:

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

<强>更新

自20版以来,Firefox一直支持此功能。