将焦点设置为textarea的结尾

时间:2012-10-16 09:10:37

标签: 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再也不起作用了。焦点消失了。

1 个答案:

答案 0 :(得分:9)

我使用以下hack for firefox:

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

这是工作小提琴:http://jsfiddle.net/vyshniakov/p37ax/