代码之家  ›  专栏  ›  技术社区  ›  Max Koretskyi

为什么在屏幕上呈现用户选择?

  •  0
  • Max Koretskyi  · 技术社区  · 7 年前

    Here is the plunker . 以下是简单的设置:

    <p>Tim O'Reilly calls for a Blogger Code of Conduct. His proposals are:</p>
    <ol>
        <li>Take responsibility not just for your own words, but for the
            comments you allow on your blog.</li>
        <li>Label your tolerance level for abusive comments.</li>
        <li>Consider eliminating anonymous comments.</li>
    </ol>
    
    <script>
        var range = document.createRange();
        var startPar = document.querySelector('p').firstChild;
        var endLi = document.querySelector('li:nth-child(2)').firstChild;
        range.setStart(startPar,13);
        range.setEnd(endLi,17);
        console.log(range.toString());
    </script>
    

    一切似乎都很好,我得到了预期的输出控制台,但文本并没有选择在屏幕上。这是故意的吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Antony Harfield    7 年前

    您已经找到了范围,但现在需要告诉浏览器选择它。例子:

    var sel = window.getSelection();
    sel.removeAllRanges();
    sel.addRange(range);