add:光标保持
This commit is contained in:
parent
e67eabd237
commit
39e27fe391
@ -8,6 +8,7 @@ define(function (require, exports, module) {
|
|||||||
let utils = require("../../common/utils");
|
let utils = require("../../common/utils");
|
||||||
let curS = utils.GetSelection();
|
let curS = utils.GetSelection();
|
||||||
let curRange = curS.getRangeAt(0); //只考虑一个选区场景
|
let curRange = curS.getRangeAt(0); //只考虑一个选区场景
|
||||||
|
let copyRange = curRange.cloneRange();
|
||||||
let curNode = utils.GetEventTarget(event);
|
let curNode = utils.GetEventTarget(event);
|
||||||
//只处理选择的是一个范围。
|
//只处理选择的是一个范围。
|
||||||
if (curS.type !== "Range") {
|
if (curS.type !== "Range") {
|
||||||
@ -129,21 +130,6 @@ define(function (require, exports, module) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
curSpanContent.innerHTML = copySpan.innerHTML;
|
curSpanContent.innerHTML = copySpan.innerHTML;
|
||||||
|
|
||||||
//光标保持. for 单行
|
|
||||||
if (taskMap.size === 1) {
|
|
||||||
let s = window.getSelection();
|
|
||||||
if (s.rangeCount > 0) s.removeAllRanges();
|
|
||||||
let newR = document.createRange();
|
|
||||||
//重新获取元素
|
|
||||||
let tmpP = curSpanContent;
|
|
||||||
let childrenSize = tmpP.childNodes.length;
|
|
||||||
console.log("debug007: ", tmpP, start, end, childrenSize)
|
|
||||||
newR.setStart(tmpP, start);
|
|
||||||
newR.setEnd(tmpP, end);
|
|
||||||
//区域 添加 到选区
|
|
||||||
s.addRange(newR);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
let total = 0, effectNum = 0;
|
let total = 0, effectNum = 0;
|
||||||
for (let j = 0; j < curSpanContent.childNodes.length; j++) {
|
for (let j = 0; j < curSpanContent.childNodes.length; j++) {
|
||||||
@ -170,6 +156,13 @@ define(function (require, exports, module) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//光标保持
|
||||||
|
curS.removeAllRanges();
|
||||||
|
let newR = document.createRange();
|
||||||
|
newR.setStart(copyRange.startContainer,start);
|
||||||
|
newR.setEnd(copyRange.endContainer,end);
|
||||||
|
curS.addRange(newR);
|
||||||
}
|
}
|
||||||
|
|
||||||
function removeSpanStyleKV(span, styleK, styleV) {
|
function removeSpanStyleKV(span, styleK, styleV) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user