什么是光标?页面上输入区(如input、textarea)中闪烁的光标实际上是一个选择区,即由选择区的左右边界直接形成的选择区。非IE浏览器输入框节点input=document.getElementById('#input')有两个属性selectionStart和selectionEnd,分别表示选择区域的起始位置和选择区域的结束位置。通过修改这两个值,可以形成选区,宽度为0,实现了光标的位置控制和获取。IE浏览器IE浏览器提供的API更丰富:createTextRange(),document.selection.createRange(),moveStart(),moveEnd(),move(),collapse(),text,select()。创建一个选择对象varrange=input.createTextRange();一些操作collaprange.collapse(boolean);可以传入一个布尔值作为参数,参数的默认值为true,表示是向左压缩还是向右压缩。moveStartrange.moveStart(param1,param2);第一个参数的可选值是character、word、sentence、textedit。例如,字符根据字符进行偏移。第二个参数表示偏移量,正负表示方向。moveEndrange.moveEnd(param1,param2);和上面的方法参数一样,不同的是这个是用来移动结束边界的。选择当前选择范围.select();//选择包含在范围内的区域。需要注意的是,在调用range.select()方法之前,选择对象的内容是不会添加选择效果的。补充varrange=document.selection.createRange();此方法基于当前页面中选定的文本区域创建一个选择对象。这个选区对象和createTextRange方法的选区对象的区别在于,它的选区范围是页面上被选文本的区域,即它的左右边界不再是默认的左最小和右最大。range.move(param1,param2);和moveStart参数一样,对移动光标比较友好。
