如何获取与设置光标在input框的位置
作者:互联网
目录
获取光标位置
不卖关子,input的dom上存在一个属性selectionStart可以获取光标位置
selectionStart的值为数字,光标在input中第一个字符的左边开始记作0,第一个字符和第二个字符之间为1,依次类推。
其实还有一个selectionEnd结束位置,但是实际使用时用不上。
<body>
<input id="box" />
<button onclick="test()">
获取光标位置
</button>
</body>
<script>
function test() {
const input = document.getElementById('box')
console.log(input.selectionStart)
}
</script>
设置光标位置
input上的setSelectionRange函数用于设置光标位置。
记得设置之前先让input聚焦focus,如果没聚焦也就没光标啥事了。
入参两个参数必传,一个开始位置一个结束位置,都设置成同一个数字就行了。
还有第三个入参可以设置方向(“forward” | “backward” | “none”),比如可以从后往前开始计数位置。
<body>
<input id="box" />
<button onclick="test()">
获取光标位置
</button>
<button onclick="test2(1)">
设置光标位置为第一个字符与第二个字符之间
</button>
</body>
<script>
function test() {
const input = document.getElementById('box')
console.log(input.selectionStart)
}
function test2(index) {
const input = document.getElementById('box')
input.focus()
input.setSelectionRange(index, index)
}
</script>
标签:字符,位置,获取,selectionStart,设置,input,光标 来源: https://blog.csdn.net/weixin_43877799/article/details/121291979