【问题标题】:How to get the selected string offset start and offset end in the sentence by Javascript如何通过Javascript获取句子中选定的字符串偏移开始和偏移结束
【发布时间】:2017-05-11 02:45:28
【问题描述】:

我有两份,一份是下面的HTML版本。

<div class="data-sentence" onclick="setSentenceNo(28);">
  <p>
     Statement of Advice for <span class="artemis_soa ano-subject" data-oristr="Joe" data-replaceid="tag_replace_6" data-hasqtip="7">&lt;NAME_1&gt;</span> and <span class="artemis_soa ano-subject" data-oristr="Black" data-replaceid="tag_replace_3" data-hasqtip="8">&lt;NAME_2&gt;</span>,
   </p>
</div>

另一种是纯文本,如下所示。(也可以说它是用户在浏览器中可以看到的)。

Statement of Advice for <NAME_1> and <NAME_2>,

所以我想要的是允许用户选择字符串并返回用户选择的字符串的偏移开始和偏移结束。 (同样我们不应该允许用户选择保留标签,如)。

例如,用户选择字符串'Advice',offset_start = 13 and offset_end=19

非常感谢您的帮助。

【问题讨论】:

    标签: javascript jquery html offset


    【解决方案1】:

    使用window.getSelection(),然后使用SelectionRange API 来获取您需要的偏移量。

    document.body.onmouseup = function () {
      var selection = window.getSelection();
      var range = selection.getRangeAt(0);
      console.log(range.startOffset, range.endOffset);
    };
    &lt;div&gt;&lt;p&gt;Statement of Advice for &lt;span&gt;&amp;lt;NAME_1&amp;gt;&lt;/span&gt; and &lt;span&gt;&amp;lt;NAME_2&amp;gt;&lt;/span&gt;,&lt;/p&gt;&lt;/div&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      相关资源
      最近更新 更多