答案 0 :(得分:1)
<script type="text/javascript">
var txtarea = document.getElementById("body");
txtarea.selectionEnd = 0;
</script>
编辑: 试试这个:
$("#body").focus(function() {
$(this).prop("selectionEnd", 0);
});
答案 1 :(得分:0)
我编辑了整个答案。我想我现在正确地理解了你的问题,并找到了解决方案。
该代码适用于Chrome和Opera,但不适用于Firefox,IE和Edge。 我发现this solution关于如何将插入符号放在textarea中的任何位置,现在它可以在上面提到的浏览器中使用您的示例(避免在11以下测试IE)。
小提琴:https://jsfiddle.net/bume1up1/2/
我从上面的SO链接复制的javascript:
function setSelectionRange(input, selectionStart, selectionEnd) {
if (input.setSelectionRange) {
input.focus();
input.setSelectionRange(selectionStart, selectionEnd);
}
else if (input.createTextRange) {
var range = input.createTextRange();
range.collapse(true);
range.moveEnd('character', selectionEnd);
range.moveStart('character', selectionStart);
range.select();
}
}
function setCaretToPos (input, pos) {
setSelectionRange(input, pos, pos);
}
setCaretToPos(document.getElementById("body"), 0);
在某些浏览器中,默认情况下textarea会处于焦点状态,在Firefox中你必须在框中标记,但光标位置仍然在顶部。