如何获取选择的所有元素

时间:2017-03-02 18:20:36

标签: javascript html ckeditor

这是我的编辑内容:

<h1>Heading 1<h1>
<p>Paragraph</p>
<h2>Heading 2</h2>

现在,如果我在编辑器中选择文本,是否有机会获得此选择中涉及的所有元素的列表?例如,如果我选择标题1和段落的一部分,我想得到一个数组(h1,p)或至少一个对象,我可以看到哪些元素在选择中。

我已经尝试过这里描述的大部分功能http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection,但大部分时间我只得到选择的第一个元素。

1 个答案:

答案 0 :(得分:0)

我已经改编了同样的功能

$("textarea").select(function() {
  var textComponent = $(this)[0]; //element identifier
  var selectedText;
  // IE version
  if (document.selection !== undefined)
  {
    textComponent.focus();
    var sel = document.selection.createRange();
    selectedText = sel.text;
  }
  // Mozilla version
  else if (textComponent.selectionStart !== undefined)
  {
    var startPos = textComponent.selectionStart;
    var endPos = textComponent.selectionEnd;
    selectedText = textComponent.value.substring(startPos, endPos);
  }
  $("p").html("You selected: " + selectedText);
});

点击此处:https://jsfiddle.net/ees8bupq/1/