【问题标题】:Selected text inside divdiv内的选定文本
【发布时间】:2013-09-04 11:00:26
【问题描述】:

我希望<div> 中的此文本在页面加载时突出显示(选择复制)。

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

我尝试了什么:

$(document).ready(function(){

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

});

【问题讨论】:

标签: javascript jquery


【解决方案1】:

因此,如果我假设正确,您希望突出显示特定 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

【讨论】:

    【解决方案2】:

    基于当前浏览器的解决方案更改,旧版本的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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-23
      • 2012-01-10
      • 2018-01-21
      • 2011-04-29
      • 1970-01-01
      • 2016-06-09
      • 2020-03-22
      • 1970-01-01
      相关资源
      最近更新 更多