设置文本区域的值会将光标移动到末尾。所以你只需要保存值,清空它,聚焦它,然后重新应用值,就可以了。
$("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);
});
};