• 技术文章 >web前端 >前端问答

    javascript的range用法是什么

    藏色散人藏色散人2022-01-18 11:44:14原创534

    javascript的range对象是指html文档中的区域,其使用方法如“var elem=range.commonAncestorContainer;if(elem.nodeType != 1){...}”。

    本文操作环境:Windows7系统、javascript1.8.5版、Dell G3电脑。

    javascript的range用法是什么?

    JS Range 对象的使用

    一:什么是Range对象

    Range是指html文档中的区域,如用户用鼠标拖动选中的区域,如下图:

    d2cf496dbb04b068c3d037c94de187e.png

    通过Range对象,可以获取用户选中的区域,或者指定选中区域,得到Range的起点和终点、修改或者复制里边的文本,甚至是html。在富文本编辑器开发中,经常会使用到这些功能。

    二:获取当前的选区

    由于兼容性的问题,需要区分ie浏览器,

    var selection, range;
    if (window.getSelection) { 
        //现代浏览器
        selection = window.getSelection();
    } else if (document.selection) { 
        //IE
        selection = document.selection.createRange();
    }
    
    //Range对象
    range = selection.getRangeAt(0);

    三:range属性

    > collapsed     如果范围的开始点和结束点在文档的同一位置,则为 true,即范围是空的,或折叠的。
    > commonAncestorContainer     范围的开始点和结束点的(即它们的祖先节点)、嵌套最深的 Document 节点。
    > endContainer         包含范围的结束点的 Document 节点。 
    > endOffset     endContainer 中的结束点位置。
    > startContainer     包含范围的开始点的 Document 节点。
    > startOffset    startContainer中的开始点位置。

    四:range操作

    //选中区域的文字
    var text = range.toString();
    
    //选中区域的Element元素
    var elem = range.commonAncestorContainer;
    if(elem.nodeType != 1){
         elem = elem.parentNode;
    }
    
    //选中区域的html
    var span = document.createElement('SPAN');
    span.appendChild(range.cloneContents());
    
    //选区是否为空
    var isSelectionEmpty = false;
    if (range.startContainer === range.endContainer) {
       if (range.startOffset === range.endOffset) {
           isSelectionEmpty = true;
       }
    }

    推荐学习:《js基础教程

    以上就是javascript的range用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:javascript html
    上一篇:htmlparser是什么 下一篇:javascript怎么隐藏行
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• javascript怎样设置文本框不能输入数字• JavaScript学习总结之原型对象(整理分享)• javascript 怎么实现gbk编码• javascript 怎么求三门成绩总分• chrome怎么禁止javascript
    1/1

    PHP中文网