如何从页面上的onmouseup中的javascript中随机选择文本和图像?

时间:2010-08-27 11:24:46

标签: javascript

我希望在鼠标事件中选择文本和图像。我已经尝试了window.getSelection(),但这只会返回选定的文字而不是图片。

有人可以帮助我了解如何在JavaScript中获取所选图像吗?

1 个答案:

答案 0 :(得分:0)

起初我认为这将是duplicate of this,但话又说回来,另一个问题并没有显示如何从选择中选择节点。

window.getSelection()会为您提供选择,但 当前(或突出显示)选项。您需要使用选择的getRangeAt方法

var range = window.getSelection().getRangeAt(0);

将为您提供当前所选项目的范围对象(请参阅DOM Range)。在此Range对象中,有startContainerendContainercommonAncestorContainer,它们将为您提供所选内容的DOM节点。请注意,对于文本,它将表示文本节点,其父节点可能是p节点。 如果您阅读了第一个链接,您将知道您也可以从文档中提取它,或者您可以克隆选择并修改它而不触及原始链接。

但是如果你想编辑选择中的内容,你可能需要自己遍历选择中的节点。如果您选择的图片位于选择的开头或结尾,则很容易获得:只需使用startContainerendContainer即可。但是当你在文本块之间有图像时,事情变得棘手。