javascript - 标签进入时如何将光标放在文本区域的文本末尾

标签 javascript textarea

<分区>

Possible Duplicate:
Javascript: Move caret to last character

我有一个标准文本区域,里面有一些文本。我正在寻找一种将光标自动放置在现有文本末尾的方法,以便用户可以简单地开始键入以添加更多文本。这应该在文本区域变为事件状态时发生,例如当用户使用标签进入它时。有什么想法吗?

最佳答案

我之前已经回答过:Javascript: Move caret to last character

jsFiddle:http://jsfiddle.net/ghAB9/6/

代码:

<textarea id="test">Some text</textarea>
function moveCaretToEnd(el) {
    if (typeof el.selectionStart == "number") {
        el.selectionStart = el.selectionEnd = el.value.length;
    } else if (typeof el.createTextRange != "undefined") {
        el.focus();
        var range = el.createTextRange();
        range.collapse(false);
        range.select();
    }
}

var textarea = document.getElementById("test");

textarea.onfocus = function() {
    moveCaretToEnd(textarea);

    // Work around Chrome's little problem
    window.setTimeout(function() {
        moveCaretToEnd(textarea);
    }, 1);
};

关于javascript - 标签进入时如何将光标放在文本区域的文本末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6003300/

相关文章:

javascript - 如何将用 ES6 编写的模块发布到 NPM?

javascript - 部署服务器和Javascript API,大数据返回 "Project in Use"

javascript - 为什么javascript编辑器使用iframe来实现?

css - 为什么这个文本区域在 Safari 中看起来更小?

javascript - 保留 HTML 到文本区域的格式

javascript - 如何让我的图表元素展开?它们目前都堆叠在一起

javascript - 单击按钮和鼠标离开后,Bootstrap 的工具提示不会消失

html - 如何删除 chrome 中 div 中 textarea 的额外空间?

javascript - firebreath 插件的 ActiveX 名称和类型是什么?

javascript - 从纯书面文本中检索属性