建立一个:选择选择器

时间:2011-10-23 17:31:21

标签: javascript jquery

我可以查询(在jQuery意义上)DOM元素 - 只是文本节点 - 由鼠标完全选择?

2 个答案:

答案 0 :(得分:2)

这将为您提供完全选中的所有元素:

var currentSelection = window.getSelection();
var firstRangeInSelection = currentSelection.getRangeAt(0);
var commonAncestor = firstRangeInSelection.commonAncestorContainer;

var nodesInSelection = $(commonAncestor).find("*").filter(function() {
                           return currentSelection.containsNode(this, false);
                       });

有关DOM选择的更多信息,请查看this page

答案 1 :(得分:1)

您可以根据以下问题调整我的答案,以返回一个jQuery对象而不是数组,这应该很简单:

JS: Get array of all selected nodes in contentEditable div

但是,这不适用于IE< 9,它不支持与其他浏览器相同的Selection对象。为此,你需要另一种方法。有答案中提到的我自己的Rangy库,但是如果你需要IE< 9没有图书馆的支持然后我可以把一起敲门。