JQUERY将Textarea光标设置为文本结尾

Ada*_*dam 14 html css jquery

http://jsfiddle.net/adamadam123/gEEVM/4/

我正在构建一个允许用户添加表情符号的聊天系统.

就像在上面的jsfiddler示例中一样,我在textarea中获取当前文本,将其与所选的表情符号组合,然后将此文本添加回textarea.

$(function() {
    var data = $('textarea').val();
    var emoticon = ':)';
    $('textarea').val(data + emoticon);
    $('textarea').focus();
});  
Run Code Online (Sandbox Code Playgroud)

问题是当我将焦点设置回textarea时,光标位于文本的开头.

如何将光标设置为文本末尾 - 以允许进一步输入?

Dar*_*jax 33

您可以做的一件事就是重置文本区域的值:

$(function() {
    var data = $('textarea').val();
    var emoticon = ':)';
    $('textarea').focus().val('').val(data + emoticon);
}); 
Run Code Online (Sandbox Code Playgroud)


1.4*_*4mb 10

首先关注,然后设定价值.就像这个JSFiddle

$('textarea').focus();
$('textarea').val("New Text");
Run Code Online (Sandbox Code Playgroud)

另一种方法是在.focus()之后添加它;

$('textarea').val($('textarea').val() + ' ');
Run Code Online (Sandbox Code Playgroud)

它为textarea的末尾增加了一个空间,从而集中在最后.