当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 光标的一些操作总结

Javascript
javascript 实现的类似hao123的多邮箱登录效果
不错的用resizeTo和moveTo两个函数实现窗口的“打乒乓球”效果
出现“不能执行已释放的Script代码”错误的原因及解决办法
“不能执行已释放的Script代码”错误的原因及解决办法
javascript入门·对象属性方法大总结
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
JavaScript 入门·JavaScript 具有全范围的运算符
用javascript实现代替marquee的滚动字幕效果代码
[原创]仿google adsense颜色选择器代码,从中易广告联盟程序提取
greenbrower用到的function.js代码集合
javascript flash下fromCharCode和charCodeAt方法使用说明
内部的小页面,用层制作,随机变色
javascript简写效果“神秘的眼睛”
用js写“算24”游戏的思路分析与实现代码
[原创]js循环输出图片,不足的要补0
json简单介绍
javascript 获取网页参数系统
[原创]js判断ie方法集锦(含正则)代码短小经典
javascript SocialHistory 检查访问者是否访问过某站点
[原创]js判断是否有中文的脚本_js判断中文方法集合

Javascript 中的 光标的一些操作总结


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 232 ::
收藏到网摘: n/a

IE下的Range操作比Mozilla下强很多,这里只讨论IE下的操作。
这里选介绍几个光标定位的特点:
1.光标不变
直接obj.focus(),光标会返回之前的位置,即位置不变
2.光标在最前
var r = obj.createTextRange();
r.collapse();
r.select();
用这个方法可以使光标在input框最前面
3.光标在最后
var r = obj.createTextRange();
r.collapse(false);
r.select();
用这个方法可以使光标停在input框的最后
4.选取input框中部分内容需要用到Range的moveStart或moveEnd方法, 其详细的方法使用可以参考MSDN.
<script type="text/javascript">
function sl(o, m, n){
var rt = o.createTextRange();
rt.collapse();
rt.select();//光标置最前
var r = document.selection.createRange();
r.collapse(false);
r.moveStart("character", m);//从m位开始
r.moveEnd("character", n);//选取n位
r.select();
}
</script>
<input name="a" value="123456789"><input type=button value="select" onclick="sl(a,2,4)">

5.再引申一下光标的移动和位置,这个是有人经常问到的问题 <input name=a value="123456789">
<input type=button value="向前" onclick="setpos(a,-1)">
<input type=button value="向后" onclick="setpos(a,1)">
<input type=button value="当前光标的位置" onclick="getpos(a)">
<script type="text/javascript">
function setpos(obj,n)
{
obj.focus();
var r = document.selection.createRange();
r.collapse(false);
r.move("character", n);
r.select();
};
function getpos(obj)
{
obj.focus();//光标位置不变
var r = document.selection.createRange();
r.collapse(false);
r.setEndPoint("StartToStart", obj.createTextRange());
alert(r.text.length);
};
</script>