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