光标的帖子总结(Range的使用)
先说说TextRange 的常用方法
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
然后讲一些例子,大家也可以帮忙汇总一下,找帖子不好找,呵呵
设置光标(qiushuiwuhen)
关于光标定位的补充.abcdefghijklmnopqrstuvwxyz
倒数 第位
function setCursor(){
var num=parseInt(document.all.s.value)
range=document.all.demo.createTextRange();
if(document.all.collapse.checked){
range.collapse(false);
range.moveEnd('character',-1*num);
}else{
range.collapse(true);
range.moveStart('character',-1+num);
}
range.select();
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
设置文本选择(qiushuiwuhen)
关于光标定位的补充.abcdefghijklmnopqrstuvwxyz
从正数 到 倒数第位
function setSelect(){var range = document.body.createTextRange();
range.moveToElementText(demo)
range.moveEnd('character',-1*parseInt(document.all.s.value));
range.moveStart('character',-1+parseInt(document.all.b.value));
range.select();
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
取得当前坐标系列1
先将光标置在这里任意处,然后点击按钮,看光标变化
function GetCursorPos(oTextArea)
{
s="~!@#$%^";
clipboardData.setData('text',s);
show.focus();
document.execCommand('paste');
var arr=show.value.split(s);
show.value=arr[1];
show.document.selection.empty();
show.document.selection.createRange().select();
show.focus();
clipboardData.setData('text',arr[0]);
document.execCommand('paste');
return arr[0].length;
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
取得当前坐标系列2
北京时间10月6日,世界三大通讯社之一的法新社刊发图文报道,中国国脚孙继海因为在最近的世界杯预选赛中的表现,已经吸引了意大利俱乐部AC米兰和都灵队的争购。中国队只需在10月7日同阿曼队的比赛中战平就将首次进入世界杯决赛圈。图为孙继海(右)1998年12月19日在亚洲杯上的资料图片。
function getCursorPosition(){
var src = event.srcElement
var oTR = src.createTextRange()
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
window.status = "行: " + line +", 列: " + char + ", 第 " + total + " 个字符"
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
取得当前坐标系列3(Yang)
Alpha 滤镜 : 线形
Alpha 滤镜 :放射状
Alpha 滤镜 :长方形
样式表滤镜实例
function GetCursorPos(oTextArea)
{
s="~!@#$%^";
clipboardData.setData('text',s);
oTextArea.focus();
document.execCommand('paste');
var ret=oTextArea.value.indexOf(s);
document.execCommand('undo');
return ret;
}
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]