【问题标题】:Java Script getSelection() ignore inner HTML [duplicate]Javascript getSelection()忽略innerHTML [重复]
【发布时间】:2020-05-23 07:10:09
【问题描述】:

现在我正在尝试获取 div 内的选择范围。问题:当我有这样的 div 时:

<div> Lorem <p> ipsum dolor sit amet, <b> consetetur <b> sadipscing elitr, <i>sed</i> diam nonumy eirmod tempor invidunt </p> ut l </div>

并且正在选择一个包含多个这些内部 HTML 节点的区域,我得到如下内容: startOffset: 10, endOffset: 2 而不是 startOffset: 10, endOffset: 12

基本上,我希望忽略 div 内的 HTML 进行选择。

【问题讨论】:

  • 要选择 div 中的文本吗?
  • 不,我想得到 startoffset 和 endoffset

标签: javascript html selection


【解决方案1】:

我想这就是你想要的。

document.addEventListener("click", function () {
  if (window.getSelection) {
    let text=window.getSelection().toString();
    let range=window.getSelection().getRangeAt(0);
    console.log(range.startContainer.textContent, range.startOffset, range.endOffset)
  }
}

, false);
<div> Lorem
  <p> ipsum dolor sit amet, <b> consetetur <b> sadipscing elitr, <i>sed</i> diam nonumy
                    eirmod tempor
                    invidunt </p> ut l </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2020-09-29
    • 2012-05-02
    • 2016-12-23
    • 2019-01-19
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多