div中的选定文本

时间:2013-09-04 11:00:26

标签: javascript jquery

我希望在页面加载时<div>内的这个文本是高级启发(选择复制)。

<div id='sample_div'>This is sample text</div>

我尝试了什么:

$(document).ready(function(){

$('#sample_div').select();

});

2 个答案:

答案 0 :(得分:2)

因此,如果我假设正确,您希望突出显示特定div中的文本。

function selectText(element) {
    var doc = document
        , text = doc.getElementById(element)
        , range, selection
    ;    
    if (doc.body.createTextRange) { //ms
        range = doc.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if (window.getSelection) { //all others
        selection = window.getSelection();        
        range = doc.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    }
}

工作jsFiddle

<强> Source

答案 1 :(得分:1)

基于当前浏览器的解决方案更改,使用旧版本的jQuery我使用$.browser,但现在已删除;检查它的IE并使用正确的代码检查document.body.createTextRange是否存在,如:

$(document).ready(function () {
    selectText('sample_div');
});

function selectText(element) {
    var text = document.getElementById(element);
    if (document.body.createTextRange) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else {
        var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } 
}

演示:http://jsfiddle.net/IrvinDominin/bKPcX/