zoukankan      html  css  js  c++  java
  • Iframe选区

    FF
    --------------------------------
    直接使用 document.creatRange() 来创建一个选区;
    默认是空的;
    使用selectNode(obj)来代替moveToElementText();
    反白依赖新对象 winodw.getSeletion();
    有rangeCount计数属性;
    有removeAllRange()方法;
    这个对象有一个 addRange(rangeObj) 方法来取代 IE 中的 select()
    截取文本串
    setStart(文本节点,偏移量)
    setEnd(文本节点,偏移量)
    ::在 IE 中是moveStart(单位,偏移量) 针对已有焦点区
    ::FF 中是以两个文本节点的跨度来生成焦点区
    有时候锚取的文本将是跨节点的,系统自动生成一个fragment来维持html良好格式,
    锚取内容后,可以对内容进行一些操作:
    deleteContents();删除
    cloneContents();克隆
    extractContents();抽取



    2级DOM定义了一个createRange()方法,如果是按照DOM此标准的浏览器(IE并不是支持此标准的,但是IE里的属性或方法却远比标准中定义的多得多),它属于document对象,所以创建一个range对象要这样做:

    var oRange = document.createRange();  
    如果你要检测你的浏览器是否支持此标准Range对象,可以用hasFeature()方法来检测: var supportsDOMRanges = document.implementation.hasFeature("Range", "2.0");   
    if (supportsDOMRange) {   
    var oRange = document.createRange();   
    //range code here   
    }
    ---------------------------------------------------------
    最简单用Range进行选择,用selectNode()或者selectNodeContents()方法,这两个方法只有一个接收参数,一个DOM节点。
    selectNode()方法选择全部节点,包括它的孩子,而selectNodeContents()选择的节点只是它的孩子。
    ----------------------------------------------------
    当你创建了一个Range对象时,Range实例就会有以下的属性:
    startContainer — 返回range对象从何开始的节点对象(父节点的第一个节点)
    startOffset — 返回Range开始的偏移量(offset),如果startContainer是一个文本节点,注释节点,或者是CDATA节点,这个属性返回文本的偏移量,否则返回第一个节点的索引。
    endCOntainer — 返回Range对象最后一个节点对象(父节点的最后一个节点)
    endOffset — 返回Range结束时的偏移量(offset)特性与startOffset相同。
    commonAncestorContainer — 返回第一个包含该Range对象的节点。
    ---------------------------------------
    Range中还有一些其它的方法:
    setStartBefore(node) — 以特定节点为参照确定起始锚点
    setStartAfter(node) — 同上
    setEndBefore — 以特定节点为参照确定终结锚点
    setEndAfter — 同上
    ------------------------------
    surroundContents(node) 进行封装 tag 完成格式化焦点文本的任务
    insertNode(node) 插入节点,完成添加文本的任务

  • 相关阅读:
    Two Sum II
    Subarray Sum
    Intersection of Two Arrays
    Reorder List
    Convert Sorted List to Binary Search Tree
    Remove Duplicates from Sorted List II
    Partition List
    Linked List Cycle II
    Sort List
    struts2结果跳转和参数获取
  • 原文地址:https://www.cnblogs.com/jazzka702/p/1531240.html
Copyright © 2011-2022 走看看