使用jquery选择文本和元素

时间:2012-06-21 01:59:56

标签: javascript jquery html

以下是我要做的事情:

我找到了以下js函数,它在textarea中显示所选文本

function getSelected() {
  var txt = '';
  if (window.getSelection) {
    txt = window.getSelection();
  } else if (document.getSelection) {
    txt = document.getSelection();
  } else if (document.selection) {
    txt = document.selection.createRange().text;
  } else return;
  document.selectedtext.value =  txt;
}

<textarea name="selectedtext" rows="5" cols="20"></textarea>

但我想要实现的是在复制时获取HTML元素。例如:

<div>some text is entered here</div>
<div>line2</div>

使用上面的JS,textarea中的内容是:

some text is entered here
line2

我期待的是:

<div>some text is entered here</div>
<div>line2</div>

1 个答案:

答案 0 :(得分:0)

这是一个比第一次出现时更复杂的问题,因为存在各种边缘情况,其中用户选择容器中的某些内容但不是所有内容。在这种情况下,它应该智能地包装片段与父div?您是否尝试使用样式或多个DOM层次结构?我强烈推荐Rangy Library,它涉及许多这些陷阱。特别是我会从选择对象中查看toHtml()方法。