JavaScript中文本光标定位
2015-01-15 17:22
113 查看
转载地址:http://levi.cg.am/archives/1448
项目中客户要求选择商品后,光标直接定位到数量输入框上,来简化操作。
document.getElementById(“cargoCount”).focus();//定位光标到数量框
还有需求涉及到定位到第几位字段上。
在IE浏览器下使用是createTextRange而Firefox/chrome等浏览器下使用setSelectionRange
IE:
FF:
//DOM Level 2中定义了方法creatRange()来创建范围
var oRange = document.createRange();
DOM下selectNode和selectNodeContent方法
<p id=”id1″><b>Hello</b>World</p>
var oRange1 = document.createRange();
var oRange2 = document.createRnage();
var oP1 = document.getElementById(“id1″);
oRange1.selectNode(oP1);
oRange2.selectNodeContents(oP1);
selectNode()获取到的oRange1是<p id=”id1″><b>Hello</b>World</p>
selectNodeContent()获取到的oRange2是<b>Hello</b>World
参考:
http://hi.baidu.com/wangjiashui/blog/item/da1e4e6eabbe96dc80cb4a29.html
http://www.zhangxinxu.com/wordpress/?p=755
http://blog.csdn.net/qiaogang2003/archive/2007/11/06/1870025.aspx
在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。
PS:参数ctrl为input或者textarea对象
PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置。
$(“#siteUrl”).val(‘http://’);
$(“#siteUrl”).focus();
IE6下光标会定位在前面:
而将两行代码换过来:
$(“#siteUrl”).focus();
$(“#siteUrl”).val(‘http://’);
IE6下光标会定位在后面:
项目中客户要求选择商品后,光标直接定位到数量输入框上,来简化操作。
document.getElementById(“cargoCount”).focus();//定位光标到数量框
还有需求涉及到定位到第几位字段上。
IE:
var oRange = document.createRange();
DOM下selectNode和selectNodeContent方法
<p id=”id1″><b>Hello</b>World</p>
var oRange1 = document.createRange();
var oRange2 = document.createRnage();
var oP1 = document.getElementById(“id1″);
oRange1.selectNode(oP1);
oRange2.selectNodeContents(oP1);
selectNode()获取到的oRange1是<p id=”id1″><b>Hello</b>World</p>
selectNodeContent()获取到的oRange2是<b>Hello</b>World
参考:
http://hi.baidu.com/wangjiashui/blog/item/da1e4e6eabbe96dc80cb4a29.html
http://www.zhangxinxu.com/wordpress/?p=755
http://blog.csdn.net/qiaogang2003/archive/2007/11/06/1870025.aspx
javascript获取光标位置以及设置光标位置
在项目开发中经常遇到input等设置光标位置到最后的问题,今天我查了一下Google,找到了在IE、Firefox、Opera等主流浏览器的获取光标位置(getCursortPosition)以及设置光标位置(setCursorPosition)的函数。function getCursortPosition (ctrl) {//获取光标位置函数 var CaretPos = 0; // IE Support if (document.selection) { ctrl.focus (); var Sel = document.selection.createRange (); Sel.moveStart ('character', -ctrl.value.length); CaretPos = Sel.text.length; } // Firefox support else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart; return (CaretPos); }
PS:参数ctrl为input或者textarea对象
function setCaretPosition(ctrl, pos){//设置光标位置函数 if(ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(pos,pos); } else if (ctrl.createTextRange) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }
PS:参数ctrl为input或者textarea对象,pos为光标要移动到的位置。
jQuery中光标定位
$(“#siteUrl”).val(‘http://’);$(“#siteUrl”).focus();
IE6下光标会定位在前面:
而将两行代码换过来:
$(“#siteUrl”).focus();
$(“#siteUrl”).val(‘http://’);
IE6下光标会定位在后面:
相关文章推荐
- JavaScript使光标定位到文本的最后
- JavaScript使光标定位到文本的最后
- DevExpress 9.1 MemoEdit (textBox) 定位光标到文本结尾
- ASP.NET基础教程-利用javascript将光标定位到文本框
- JavaScript 中在光标处插入添加文本标签节点 详细方法
- javascript常用代码(去字串两端空格、文本域光标定位到最后)
- 光标定位到文本的末尾
- 文本输入框中光标的控制(定位)
- javascript 获取用户光标,插入文本
- js使光标定位到文本的最后
- javascript光标定位
- 通过 javascript 在光标处插入文本
- Javascript在光标处插入文本
- javascript中的focus()光标定位
- JavaScript 中在光标处插入添加文本标签节点 详细方法
- javascript textarea光标定位方法(兼容IE和FF)
- javascript光标定位
- 用JavaScript实现的文本框光标定位
- 将光标定位到textarea的某一行的javascript代码
- 光标定位到输入框文本的尾端