首页 新闻 搜索 专区 学院

IE8怎样通过js实现选中div中的文字;谷歌和IE9 10 11实现了

0
悬赏园豆:15 [已解决问题] 解决于 2017-08-22 15:55

代码如下:

$("#tBody").on("click", "input", function(){
  if(window.getSelection){//谷歌 IE 9 10 11
    var copy_text = $(this).siblings("div").get(0);
    var range = document.createRange();
    range.selectNode(copy_text);
    window.getSelection().addRange(range);//至此div中的文字被选中了
    document.execCommand("copy");
  }else if(document.selection){
    var copy_text = $(this).siblings("div").get(0);
    var range = document.selection.createRange();

    //下面要怎么执行啊
  }

})

IE8下怎么实现range.selectNode();和window.getSelection().addRange(range);

求指点!!!

在谷歌和IE 8 9 10 实现是,当点击红色的区域时,下方div的文字就被选中了

_只影向谁去的主页 _只影向谁去 | 初学一级 | 园豆:51
提问于:2017-08-22 15:24
< >
分享
最佳答案
1
function SelectText(element) {
    var text = document.getElementById(element);
    if ($.browser.msie) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if ($.browser.mozilla || $.browser.opera) {
        var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } else if ($.browser.safari) {
        var selection = window.getSelection();
        selection.setBaseAndExtent(text, 0, text, 1);
    }
}

你可以看下这个Selecting text in an element

然后这里还有一个更高级的开源的可以自由选择的 jquery.selection

收获园豆:15
BUTTERAPPLE | 老鸟四级 |园豆:2950 | 2017-08-22 15:45

十分十分十分感谢;实现了

_只影向谁去 | 园豆:51 (初学一级) | 2017-08-22 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册