U.UF.E.addRange() 替换选区内容处理,可添加元素html代码。
函数源码:
/**
* 替换选区内容处理,可添加元素html代码。
*
* @param {string} 需要插入的文字
* @param {object} range光标对象
* @param {boolean} 是否聚焦到最后
* @return {object} 光标编辑对象
*/
U.UF.E.addRange = function (str, range, islast) {
//html5得到光标的处理
if (window.getSelection) {
var _selection = window.getSelection(), //获取选取对象
_frag = range.createContextualFragment(str); //创建选取
range.deleteContents(); //移除文字
_selection.removeAllRanges(); //移除选取
range.insertNode(_frag); //插入需要写入的内容
//判断光标是否放在最后面
if (islast) {
range.collapse(false);
}
_selection.addRange(range); //把替换的文章添加到当前指定的选取中
}
//ie系列的处理,ie系列不支持win.getSelection,有自己独特的属性
else {
range.select(); //选取聚焦
range.pasteHTML(str); //添加选取文字
//判断光标是否放在最后面
if (islast) {
range.collapse(false);
}
}
//上面重新操作光标后,需要重新聚焦
return U.UF.E.getRangeAt();
}
工作人员
作者: 14互联网G5-2 杨思强
信息录入: 14互联网G5-2 杨思强