text区域's `selectionStart`未更新

textarea's `selectionStart` is not updated

本文关键字:selectionStart 更新 区域 text      更新时间:2023-09-26

在下面的javascript中,在onkeydown事件的回调中请求textAarea的selectionStart。但是,获得的值不是选择的当前开始,而是对该事件的上一次调用的值。

在这种情况下,如何获取当前插入符号的位置

function printSelectionStart() {
  
    start = document.getElementById("tarea").selectionStart;
  
    document.getElementById("print").innerHTML="selection starts at "+start;
  
}
<textarea id="tarea" onkeydown="printSelectionStart();">
</textarea>
<div id="print"></div>

您可以使用onkeyup事件进行检查。

在您的情况下

<textarea id="tarea" onkeyup="printSelectionStart();"> 

(尽管将脚本与标记分开会更好)