javascript - 将焦点设置到文本区域的末尾

标签 javascript jquery cross-browser textarea

editor.focus();

在 Chrome 中设置焦点。 但在 Firefox 中,焦点设置在开头就行了。我希望它被设置在行尾。我试过这个:

moveCaretToEnd(ed);

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();
    }
}

而且愚蠢的 FF 不再工作了。焦点消失了。

最佳答案

我对 firefox 使用了以下 hack:

var value = editor.val();
editor.val("");
editor.focus();
editor.val(value);

这是工作 fiddle :http://jsfiddle.net/vyshniakov/p37ax/

关于javascript - 将焦点设置到文本区域的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911236/

相关文章:

javascript - 使用jquery的链接元素的绝对位置

javascript - 有没有办法用 javascript 填充 html 中的数据文本字段?

asp.net - 用于编辑和只读模式的不同 FieldHeaderStyle DetailsView

javascript - 排序 json 列表?

javascript - JQuery 脚本在 IE 8 上运行失败

html - 不同浏览器打印出来的页面大小不一样

Javascript:从字符串初始化变量?

javascript - 简单的浏览器对称 AES 加密

javascript - 检查用户是否是来自 Google Analytics 的回访者(例如)

javascript - Google Charts - 工具提示中显示的 HTML 源代码