如何设置指针位置? 我尝试了该主题中最著名的解决方案: Set keyboard caret position in html textbox 但这个解决方案仅适用于输入......
这是代码:
$(document).ready(function(){
$("#asd").keypress(function(){
//set cursor to a position
})
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head><body>
<pre id="asd" contenteditable="true" >
asd
</pre>
</body>
</html>
最佳答案
像这样:
function setCursor(pos) {
var el = document.getElementById("asd");
var range = document.createRange();
var sel = window.getSelection();
range.setStart(el.childNodes[0], pos);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
el.focus();
}
$(document).ready(function(){
$("#asd").keypress(function(){
setCursor(4);
})
});
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head><body>
<pre id="asd" contenteditable="true" >
asd
two
</pre>
</body>
</html>
关于javascript - 在 pre 或 div 标签中设置指针位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794506/