自动选择在浏览器中呈现的<p> </p> - 文本

时间:2009-03-24 22:53:46

标签: javascript html text selection

谁知道有可能在浏览器中渲染时自动选择Para​​gaph文本,最好使用JavaScript?

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

非常感谢您的建议!

2 个答案:

答案 0 :(得分:2)

将其插入页面的最末端:

<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中测试 - &gt;不太确定跨浏览器兼容性,虽然我认为IE应该没问题。

答案 1 :(得分:2)

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

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