将光标移动到文本区域的末尾

Avatar of Chris Coyier
Chris Coyier

设置文本区域的值会将光标移动到末尾。所以你只需要保存值,清空它,聚焦它,然后重新应用值,就可以了。

$("button").on("click", function() {
  
  // cache textarea as we need it more than once
  var textarea = $("textarea"),
      
      // save old value as we need to clear it
      val = textarea.val();
  
  // focus textarea, clear value, re-apply
  textarea
    .focus()
    .val("")
    .val(val);
});

此演示执行此操作,但也应用了一点用户体验。如果文本区域的当前值末尾没有空格,则添加一个。这样你就可以点击并继续输入,就像你可能做的那样。

Check out this Pen!

你也可以把它做成一个插件

$.fn.focusToEnd = function() {
   return this.each(function() {
       var v = $(this).val();
       $(this).focus().val("").val(v);
   });
};