Javascript选中文字【兼容所有浏览器】

选中非文本框的HTML元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
    <script type="text/javascript">
    function selectText() {
        if (document.selection) {
            var range = document.body.createTextRange();
            range.moveToElementText(document.getElementById('selectable'));
            range.select();
        } else if (window.getSelection) {
            var range = document.createRange();
            range.selectNode(document.getElementById('selectable'));
            window.getSelection().addRange(range);
        }
    }
    </script>
    <span id="selectable1">http://example.com/page.htm</span>
    <input id="selectable" type="text" value="fsaffsdfd"/>
    <input type="button" onclick="selectText()" value="按钮" />
</body>
</html>

选中文本框中的元素:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<textarea id="o"></textarea>
<input type="button" value="aaaa" onclick="setSelectText(document.getElementById('o'),3,5)" />
<script>
function setSelectText(el,start,end){
    if(el.createTextRange){
        var Range=el.createTextRange();
        Range.collapse();
        Range.moveEnd('character',end);
        Range.moveStart('character',start);
        Range.select();
    }
if(el.setSelectionRange){
        el.focus();  
        el.setSelectionRange(start,end);  //设光标
    }
}
</script>
</body>
</html>

posted @ 2013-10-10 14:10  翱翔软件  阅读(215)  评论(0)    收藏  举报

欢迎访问翱翔软件