代码之家  ›  专栏  ›  技术社区  ›  Martin

自动选择在浏览器中呈现的文本

  •  0
  • Martin  · 技术社区  · 15 年前

    谁知道在浏览器中呈现段落文本时自动选择段落文本的可能性,最好使用JavaScript?

    在我的情况下,我有大量的文本 <p></p> 标记并希望页面显示时完全选中文本,就像有人用鼠标手动完成一样。

    非常感谢你的建议!

    2 回复  |  直到 15 年前
        1
  •  2
  •   ChristopheD    15 年前

    在页面的最末尾插入以下内容:

    <script type='text/javascript'>
    
    ptags = window.document.getElementsByTagName("p");
    current_selection = window.getSelection();
    
    for (i=0; i< ptags.length; i++)
    {
        var r1 = document.createRange();
        r1.setStartBefore(ptags[i]);
        r1.setEndAfter(ptags[i]) ;
        current_selection.addRange(r1);
    }
    
    </script>
    

    在Firefox 3.07中测试过-->虽然我认为IE应该没问题,但对跨浏览器兼容性并不是很确定。

        2
  •  2
  •   evilpenguin    15 年前

    article ,和 W3C range (ChristopheD的代码)不受IE6/7支持,因此您必须进行浏览器检查并使用 createTextRange 对于IE6/7。

    作为一个小的补充,也许您可以定义一个函数来封装ChristopheD编写的代码,并执行如下操作 <body onload="selectPs()"> 或者也许 $(document).ready(function() {}); 如果使用jQuery。可能比将脚本放在html代码的末尾更有效。