我正在尝试在单击鼠标下移时重新定位文本光标的位置。问题在于,由于“新”位置直到点击被释放才会被存储,因此selectionStart
和selectionEnd
不会返回光标的最新位置。当您尝试使用鼠标重新定位插入符号时,代码片段显示了这个问题。
这很奇怪,因为从技术上讲,我可以在鼠标按下后立即在“新”位置进行输入,但是selectionStart
仍然返回旧位置。如果光标位置可以明显更改而不必释放单击,那么如何在等待mouseup
之前访问新位置?
(这对于跟踪按键按下后的光标位置也似乎是个问题)
const input = document.getElementById('myInput');
input.addEventListener('mousedown', showposition); // click
function showposition() {
document.getElementById("output").innerHTML += " " + input.selectionStart;
}
<input id="myInput">
<p id="output"></p>