|
|
@ -64,9 +64,11 @@ function selectTextDom(ele){ |
|
|
if (window.getSelection) { |
|
|
if (window.getSelection) { |
|
|
let range = document.createRange(); |
|
|
let range = document.createRange(); |
|
|
range.selectNodeContents(ele); |
|
|
range.selectNodeContents(ele); |
|
|
|
|
|
if(range.startContainer && isInPage(range.startContainer)){ |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().addRange(range); |
|
|
window.getSelection().addRange(range); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
else if (document.selection) { |
|
|
else if (document.selection) { |
|
|
let range = document.body.createTextRange(); |
|
|
let range = document.body.createTextRange(); |
|
|
range.moveToElementText(ele); |
|
|
range.moveToElementText(ele); |
|
|
@ -80,9 +82,11 @@ function selectTextContent(ele){ |
|
|
var content=ele.firstChild; |
|
|
var content=ele.firstChild; |
|
|
range.setStart(content,0); |
|
|
range.setStart(content,0); |
|
|
range.setEnd(content,content.length); |
|
|
range.setEnd(content,content.length); |
|
|
|
|
|
if(range.startContainer && isInPage(range.startContainer)){ |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().addRange(range); |
|
|
window.getSelection().addRange(range); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
else if (document.selection) { |
|
|
else if (document.selection) { |
|
|
let range = document.body.createTextRange(); |
|
|
let range = document.body.createTextRange(); |
|
|
range.moveToElementText(ele); |
|
|
range.moveToElementText(ele); |
|
|
@ -96,20 +100,35 @@ function selectTextContentCross(sEle, eEle){ |
|
|
var sContent=sEle.firstChild, eContent=eEle.firstChild; |
|
|
var sContent=sEle.firstChild, eContent=eEle.firstChild; |
|
|
range.setStart(sContent,0); |
|
|
range.setStart(sContent,0); |
|
|
range.setEnd(eContent,eContent.length); |
|
|
range.setEnd(eContent,eContent.length); |
|
|
|
|
|
if(range.startContainer && isInPage(range.startContainer)){ |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().addRange(range); |
|
|
window.getSelection().addRange(range); |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function selectTextContentCollapse(sEle, index){ |
|
|
function selectTextContentCollapse(sEle, index){ |
|
|
if (window.getSelection) { |
|
|
if (window.getSelection) { |
|
|
let range = document.createRange(); |
|
|
let range = document.createRange(); |
|
|
var sContent=sEle.firstChild; |
|
|
var sContent=sEle.firstChild; |
|
|
|
|
|
if(index>sContent.length){ |
|
|
|
|
|
index=sContent.length; |
|
|
|
|
|
} |
|
|
|
|
|
else if(index<0){ |
|
|
|
|
|
index = 0; |
|
|
|
|
|
} |
|
|
range.setStart(sContent,index); |
|
|
range.setStart(sContent,index); |
|
|
range.collapse(true); |
|
|
range.collapse(true); |
|
|
|
|
|
if(range.startContainer && isInPage(range.startContainer)){ |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().removeAllRanges(); |
|
|
window.getSelection().addRange(range); |
|
|
window.getSelection().addRange(range); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function isInPage(node) { |
|
|
|
|
|
return (node === document.body) ? false : document.body.contains(node); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
export { |
|
|
export { |
|
|
|