1

是否可以获得用户在一个区域中选择的所有文本节点?

我已经尝试选择对象(window.getSelection())来获取anchorNodefocusNode用于开始文本节点和结束。

现在我正在尝试获取开始文本节点和结束之间的所有文本节点。这个问题还需要关注两个节点之间的子节点和父节点。

4

1 回答 1

0

是的,您可以使用document.selection类 (IE) 或selectionStartselectionEnd属性 (Firefox / Chrome)

var $ = function(id) { return document.getElementById(id); };

$('get').onclick = function() {
  var text = $('text'),
      selection = '';

  if (typeof document.selection !== 'undefined')
  {
    text.focus();
    var sel = document.selection.createRange();
    selection = sel.text;
  }
  else
  {
    var d = text.selectionStart,
        e = text.selectionEnd;
    for (var i = d; i < e; i++)
    {
      selection += text.value[i];
    }
  }
  alert ("Selected content:\n" + selection);
};

工作演示

于 2013-10-01T12:51:24.680 回答