插入点操作
转载请注明来源:https://www.cnblogs.com/hookjc/
collapse([bStart])移动Range的插入点
bStart true(移到开头) false(移到末尾)
findText(sText [, iSearchScope] [, iFlags])
在Range中查找sText
iSearchScope 开始位置,负数方向搜索
iFlags 2(整词匹配) 4(区别大小写)
moveStart(sUnit [, iCount])
moveEnd(sUnit [, iCount])
移动Range的开头或结尾
sUnit character(字) word(词) sentence(句) textedit(Range)
iCount 移动数量,默认为1
moveToPoint(iX, iY)
移动光标到坐标(iX,iY)
pasteHTML(sHTMLText)
替换Range中的html
scrollIntoView([bAlignToTop])
滚动使之在当前窗口显示
bAlignToTop true(Range在窗口开头) false(Range在窗口底部)
select()
选中Range
//获取控件的插入点位置
function getCursorPosition(obj){
var src = obj;
var Pos={row:0,col:0,lchar:0};
try{var oTR = src.createTextRange(); }catch(e){return Pos;};
var textLength = src.innerText.length;
var line, char, total, cl;
oTR.moveToPoint(window.event.x, window.event.y) ;
oTR.moveStart("character", -1*textLength);
cl = oTR.getClientRects();
line = cl.length;
total = oTR.text.length;
oTR.moveToPoint(cl[cl.length-1].left-2, cl[cl.length-1].top-2);
oTR.moveStart("character", -1*textLength);
char = total - oTR.text.length;
//alert( "行: " + line +", 列: " + char + ", 第 " + total + " 个字符");
Pos={row:line,col:char,lchar:total};
return Pos;
}