/**
* @description 模拟鼠标选中页面文本。
* 把el{DOMElement}节点设置为选中状态。
* 如果text不为空,则仅选中el中的text文本。
* @author shawn
*/
function selectDomText(el,text) {
if(!el)
return;
if(text){
if(/MSIE ([^;]+)/.test(navigator.userAgent)){
var range = document.body.createTextRange();
range.moveToElementText(el);
var found = range.findText(text);
if(found){
range.execCommand('selectAll');
}
}else{
var t = el.firstChild;
if(t && t.nodeType == 3){
var range = document.createRange();
var str = t.nodeValue;
range.selectNode(t);
var idx = str.indexOf(text);
if(idx != -1){
var selObj = window.getSelection();
selObj.removeAllRanges();
range.setStart(t,idx);
range.setEnd(t,idx + text.length);
selObj.addRange(range);
}
}
}
}else{
if (window.getSelection) { // all browsers, except IE before version 9
var selection = window.getSelection ();
selection.selectAllChildren (el);
} else { // Internet Explorer before version 9
var range = document.body.createTextRange ();
range.moveToElementText (el);
range.select();
}
}
}
/**
*获取选中的文本,支持body/input/textarea元素。
*/
function getSelText(){
var selText = "";
if (window.getSelection) { // all browsers, except IE before version 9
if (document.activeElement &&
(document.activeElement.tagName.toLowerCase () == "textarea" ||
document.activeElement.tagName.toLowerCase () == "input"))
{
var text = document.activeElement.value;
selText = text.substring (document.activeElement.selectionStart,
document.activeElement.selectionEnd);
}
else {
var selRange = window.getSelection ();
selText = selRange.toString ();
}
}
else {
if (document.selection.createRange) { // Internet Explorer
var range = document.selection.createRange ();
selText = range.text;
}
}
return selText;
}
//选择文本框里面的字符
function selectText(textbox, startIndex, stopIndex){
if (textbox.setSelectionRange){
textbox.setSelectionRange(startIndex, stopIndex);
} else if (textbox.createTextRange){
var range = textbox.createTextRange();
range.collapse(true);
range.moveStart(“character”, startIndex);
range.moveEnd(“character”, stopIndex - startIndex);
range.select();
}
textbox.focus();
}
选中DIV的DOM节点与文本
最新推荐文章于 2022-02-19 16:13:33 发布