[size=medium]IE下的Range操作比Mozilla下强很多,这里只讨论IE下的操作。
这里选介绍几个光标定位的特点:
[b]1.光标不变 [/b]
直接obj.focus(),光标会返回之前的位置,即位置不变
[b]2.光标在最前 [/b]
var r = obj.createTextRange();
r.collapse();
r.select();
用这个方法可以使光标在input框最前面
[b]3.光标在最后 [/b]var r = obj.createTextRange();
r.collapse(false);
r.select();
用这个方法可以使光标停在input框的最后
[b]4.选取input框中部分内容需要用到Range的moveStart或moveEnd方法, 其详细的方法使用可以参考MSDN. [/b]
<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" οnclick="sl(a,2,4)">
[b]5.再引申一下光标的移动和位置,这个是有人经常问到的问题 <input name=a value="123456789">[/b]
<input type=button value="向前" οnclick="setpos(a,-1)">
<input type=button value="向后" οnclick="setpos(a,1)">
<input type=button value="当前光标的位置" οnclick="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> [/size]
光标在input中的定位
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
点击,跳出一张新网页
iteye_10364
2020-06-30 11:59:11
upload-labs(上)1~10
ChenZIDu
2020-06-17 10:45:19
BJDCTF 2nd(WEB复现)
ChenZIDu
2020-06-17 10:45:19
thinkphp、Yii框架的php框架安装phinx同步数据库
1、給當前的項目安裝Composer,代碼:curl -s https://getcomposer.org/installer | php 或用 p
Ga_Galin
2020-06-13 10:38:08
vue-cli反向代理以及axios使用
ChenZIDu
2020-06-01 23:15:27
GKCTF2020_web
ChenZIDu
2020-05-26 22:52:44
网鼎杯2020朱雀组-web
ChenZIDu
2020-05-19 18:23:50
网鼎杯2020青龙组-web
ChenZIDu
2020-05-18 10:39:38
Sqli-labs(Page-1)1-22
ChenZIDu
2020-04-26 19:00:21
[BJDCTF 2nd]fake google
ChenZIDu
2020-03-28 16:17:12
Flask框架实现MVC架构+sqlalchemy连接数据库
ChenZIDu
2020-03-12 06:51:35
Flask框架环境搭建
ChenZIDu
2020-03-10 12:20:05
[SCTF2019]Flag Shop
.OnIsm
2020-03-05 16:08:07
vue路由history模式刷新页面时页面丢失时常见的两种解决方法
Ga_Galin
2020-02-28 01:32:47
BJDCTF2020--web-复现
.OnIsm
2020-02-23 13:42:47