gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

H5編輯器核心思想的實(shí)例分析

代碼和特性在chrome49下測試有效。

文本渲染的本質(zhì)是對文本節(jié)點(diǎn)的渲染,通過瀏覽器內(nèi)置的對象Range可以獲得選擇的起始點(diǎn)、與終止點(diǎn)

var range = getRangeObject();var start = range.startOffset,  end = range.endOffset;var startContainer = range.startContainer;var endContainer = range.endContainer;

getRangeObjec代碼如下

function getRangeObject(){if(window.getSelection)  {var selection = window.getSelection();if(selection.rangeCount > 0)  {return selection.getRangeAt(0);  }  }else if(document.selection)  {return document.selection.createRange();   }return null;  };

 起始點(diǎn)始終在左面,終止點(diǎn)始終在右面,不受選擇方向的影響。

  只有當(dāng)起始點(diǎn)的開頭或終止點(diǎn)的末尾是<br/>時,返回的不是文本節(jié)點(diǎn),可以通過start,end確定br元素的位置分別是startContainer.childNodes[start],endContainer.childNodes[end-1]。返回的是文本節(jié)點(diǎn)start表示光標(biāo)相對于起始文本節(jié)點(diǎn)所在的起始位置,end表示光標(biāo)相對于終止文本節(jié)點(diǎn)所在的終止位置。

獲得下一個文本節(jié)點(diǎn)的算法為

function getNextTextNode(startNode,dir = "nextSibling"){//記錄startNode變化之前的狀態(tài),startNode變化后無效時便于狀態(tài)的回滾let unchangeNode = startNode;if(startNode.nodeType == 3){          startNode = startNode[dir];      }while (true){if(startNode == undefined){if(unchangeNode == undefined){//保護(hù)機(jī)制throw new Error("程序會陷入死循環(huán)");break;              }/*startNode所在的父元素所有選中節(jié)點(diǎn)遍歷完畢,將sartNode指向父元素的兄弟節(jié)點(diǎn)*/let parent = unchangeNode.parentElement;              unchangeNode = parent;              startNode = parent[dir];          }else if(startNode.nodeType == 3){//文本節(jié)點(diǎn)則退出循環(huán)break;          }else if(startNode.tagName == "BR"){//處理單標(biāo)簽,避免不必要的迭代unchangeNode = startNode;              startNode = startNode[dir];          }else if(startNode.nodeType == 1){/*如果是雙標(biāo)簽元素則進(jìn)入*/unchangeNode = startNode;if(dir == "previousSibling"){                    startNode = $(startNode).contents().last().get(0);              }else if(dir == "nextSibling"){                  startNode = $(startNode).contents().first().get(0);              }else {//便于錯誤的定位throw new Error("錯誤的遍歷方向:"+dir);              }          }else {//便于錯誤的定位throw new Error("不期待的元素類型=》"+startNode);            }      }    return startNode;        }

  //上述函數(shù)用外部變量+while循環(huán)的方式取代遞歸,加入的保護(hù)機(jī)制減少誤用、潛在bug導(dǎo)致極差的體驗(yàn)。
獲得起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)之間的所有文本節(jié)點(diǎn)

function getTextNodes(startTextNode,endTextNode){      let textNodeArray = [];      let node = startTextNode;while (true) {          node = getNextTextNode(node);if(node == endTextNode){break;          }          textNodeArray.push(node);      }    return textNodeArray;  }

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
男人天堂a在线| 久久综合久久网| 色综合色综合色综合色综合| 奇米视频7777| 国产片侵犯亲女视频播放| 国产主播在线看| 三上悠亚在线一区| 欧美日韩亚洲国产成人| 妞干网视频在线观看| 茄子视频成人免费观看| 杨幂毛片午夜性生毛片| 久久久久久人妻一区二区三区| 十八禁视频网站在线观看| 色噜噜狠狠永久免费| 97干在线视频| 特级西西444| 一级 黄 色 片一| 日本老熟妇毛茸茸| 日本中文字幕网址| 岛国大片在线播放| 成年人午夜视频在线观看 | 肉大捧一出免费观看网站在线播放| 毛片一区二区三区四区| 激情伊人五月天| 18禁免费观看网站| 黄色国产精品视频| 毛片av免费在线观看| 日本一本二本在线观看| 欧美日韩亚洲第一| 午夜视频在线网站| 欧美一二三不卡| wwwwxxxx日韩| 国产激情片在线观看| 久久99久久99精品| 亚洲欧洲日本精品| 成人性做爰片免费视频| 欧美人成在线观看| 免费日韩中文字幕| 国产一二三四五| 亚洲一级免费观看| 成人在线播放网址| 中文字幕亚洲影院| 日日碰狠狠丁香久燥| 日韩av三级在线| 精品国产乱码久久久久久1区二区| 日本一级淫片演员| 91插插插影院| 亚洲免费av一区二区三区| 日本aa在线观看| 天天在线免费视频| 亚洲男人天堂2021| 国产乱叫456| 午夜精品久久久久久久99热影院| 国产乱子伦农村叉叉叉| 日韩精品福利片午夜免费观看| 韩国中文字幕av| 色乱码一区二区三区在线| 丰满少妇大力进入| 国产aaa免费视频| 欧美黑人在线观看| 少妇人妻无码专区视频| 国产精品专区在线| 亚洲成熟丰满熟妇高潮xxxxx| 国产精品99久久免费黑人人妻| 国产小视频精品| 国产激情片在线观看| 免费观看美女裸体网站| 任你操这里只有精品| 无需播放器的av| 日本老太婆做爰视频| 丰满的少妇愉情hd高清果冻传媒 | 国产精品宾馆在线精品酒店| 成人三级视频在线播放| 欧美日韩视频免费在线观看| 国产成人a亚洲精v品无码| 狠狠热免费视频| 国产资源在线视频| 国产又粗又大又爽的视频| 欧美黄色免费影院| 国产成a人亚洲精v品在线观看| 国产精品第12页| 2019日韩中文字幕mv| www.亚洲自拍| 91高清国产视频| 91制片厂毛片| 亚洲精品成人在线播放| 精品人妻一区二区三区四区在线| 国产日韩第一页| 黄色三级视频在线播放| 无套内谢丰满少妇中文字幕| 国产精品嫩草影院8vv8| 中文字幕成人在线视频| 亚洲欧美aaa| 黑人巨大国产9丨视频| 自拍偷拍一区二区三区四区| 欧美日韩久久婷婷| 国产中文字幕乱人伦在线观看| 青青视频免费在线| 久草资源站在线观看| 国产亚洲综合视频| 五月婷婷狠狠操| 欧美一级中文字幕| 国产又大又黄又粗的视频| 中文字幕色网站| 久久精品国产精品亚洲色婷婷| 白嫩少妇丰满一区二区| 热久久最新地址| youjizzxxxx18| 日本久久久网站| www.久久av.com| 国产成人亚洲精品无码h在线| 一区二区三区国产好的精华液| 免费看黄在线看| 午夜剧场高清版免费观看| 99精品在线免费视频| 成人免费看片视频在线观看| 欧美极品欧美精品欧美图片| av在线免费观看国产| 一级黄色录像免费看| 欧美国产日韩在线播放| 久久久久久免费看| 国产欧美123| 拔插拔插海外华人免费| 日韩日韩日韩日韩日韩| 天堂а√在线中文在线 | www.99在线| 国产精品区在线| 欧美性猛交久久久乱大交小说| 黄色动漫在线免费看| 国产一二三在线视频| 青青艹视频在线| 国产成人综合一区| 一道本视频在线观看| 中国 免费 av| 久久久久久久久久久视频| 91av资源网| 黄色a级三级三级三级| 国产女教师bbwbbwbbw| 91亚洲精品国产| 亚洲第一中文av| 国产欧美综合一区| 福利在线一区二区| 爱爱爱爱免费视频| 91av资源网| 粉嫩av一区二区三区天美传媒| www.99在线| 99亚洲国产精品| 波多野结衣xxxx| 欧美黑人经典片免费观看| 成人综合久久网| 成人免费无码av| 国语对白做受xxxxx在线中国| 亚洲第一页在线视频| 亚洲欧美国产日韩综合| 欧美少妇性生活视频| 91av在线免费播放| 欧美日韩在线中文| 久久久999免费视频| 国产一级不卡毛片| 男人操女人免费软件| 国产成人无码精品久久久性色| 国产精品久久久久久久久电影网| www.com黄色片| 日韩精品aaa| 色一情一乱一乱一区91| 亚洲黄色网址在线观看| 99久re热视频精品98| 欧美 日本 亚洲| 一路向西2在线观看| 精品一区二区成人免费视频| 欧美人与动牲交xxxxbbbb| 97久久国产亚洲精品超碰热 | www.亚洲成人网| 亚洲精品高清无码视频| 久久久久久综合网| 欧美不卡在线播放| 91网址在线观看精品| 男女视频网站在线观看| 日日干日日操日日射| 欧美综合在线播放| www婷婷av久久久影片| 欧美国产激情视频| 激情视频小说图片| 国产高清999| 色婷婷一区二区三区av免费看| 国产精品国三级国产av| 可以免费看的黄色网址| 日本三级免费观看| www.日本三级| 成人午夜免费在线| 久青草视频在线播放| 99re6这里有精品热视频| 中文字幕在线视频一区二区| 无需播放器的av| 亚洲一二三不卡| 毛片av在线播放| 青青草国产免费| 天天影视综合色| 7777在线视频| 香港三级韩国三级日本三级|