js获取textarea或者input光标位置,控制光标位置
2017-02-20 23:09
531 查看
<head> <meta charset="UTF-8"> <title></title> </head> <body> <textarea name="text" rows="12" cols="28" id="select"></textarea> <!--<input type="text" name="select" id="select" />--> <label for="number">设置值</label> <input type="text" id="number" style="width: 28px;" /> <button type="button" id="button0">ClickMe</button> <button type="button" id="button1">ClickMe2</button> </body> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> /** * 获得光标位置兼容IE/FF * 例: var obj = document.getElementById("tx1"); var pos = getCaretPosition(obj); alert("--"+pos); */ function getCaretPosition(obj) { var result = 0; if(obj.selectionStart >= 0) { //IE以外 result = obj.selectionStart; } else { //IE try { var rng; if(obj.tagName == "textarea") { //TEXTAREA rng = event.srcElement.createTextRange(); rng.moveToPoint(event.x, event.y); } else { //Text rng = document.selection.createRange(); } rng.moveStart("character", -event.srcElement.value.length); result = rng.text.length; } catch(e) { throw new Error(10, "asdasdasd"); } } return result; } var str = '1234567890'; str = str.substring(0, str.length - 1); console.log(str) /** * 设置光标位置兼容IE/FF * @param tObj * @param sPos * 例: var obj =document.getElementById("tx1"); var sPos = obj.value.length-1; setCaretPosition(obj, sPos); */ function setCaretPosition(tObj, sPos) { if(tObj && sPos) { if(tObj.setSelectionRange) { setTimeout(function() { tObj.setSelectionRange(sPos, sPos); tObj.focus(); }, 0); } else if(tObj.createTextRange) { var rng = tObj.createTextRange(); rng.move('character', sPos); rng.select(); } } } $('#button0').click(function() { var input = document.getElementById('select'); alert(getCaretPosition(input)); }); $('#button1').click(function() { var input = document.getElementById('select'); var index = document.getElementById('number').value; setCaretPosition(input, index); }) </script>
相关文章推荐
- JS获取文本框(input和textarea)中光标位置
- JS获取textArea中光标位置的方法
- js获取textarea光标位置方法(兼容ie,ff)
- JS获取及设置TextArea或input文本框选择文本位置的方法
- JavaScript 获取/设置光标位置,兼容Input&&TextArea
- 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
- JS获取textarea的光标位置并插入内容(转)
- ahjesus 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome
- JavaScript 获取/设置光标位置,兼容Input&&TextArea
- ahjesus 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome
- 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
- JavaScript 获取/设置光标位置,兼容Input&&TextArea
- html中的css和js控制input,textarea文本框自动获取焦点
- JavaScript 获取/设置光标位置,兼容Input&&TextArea
- js获取光标位置
- 获取 Textarea 的光标位置 【转】
- 获取 Textarea 的光标位置
- javascript获取textarea光标选择位置和内容方法(IE, Firefox)
- javascript获取textarea光标选择位置和内容方法(IE, Firefox)
- FF IE 得到input.text textarea 光标,更改光标位置 备忘