将焦点设置为textarea的结尾

pet*_*ski 4 javascript jquery textarea cross-browser

editor.focus();
Run Code Online (Sandbox Code Playgroud)

在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();
    }
}
Run Code Online (Sandbox Code Playgroud)

而愚蠢的FF再也不起作用了.焦点消失了.

Art*_*kov 9

我使用以下hafox for firefox:

var value = editor.val();
editor.val("");
editor.focus();
editor.val(value);
Run Code Online (Sandbox Code Playgroud)

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