首先,你们中的一些人可能会注意到我在删除它后重新发布了这个问题。这是因为它被一个无需检查的人错误地标记为副本 - 他所链接的问题是关于<input>
元素;该解决方案不适用于textareas。
无论如何,请考虑以下代码:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function caek() {
$('textarea[name=txt1]').val("cake");
$('textarea[name=txt1]').focus();
}
</script>
</head>
<body>
<div id="bar"></div>
<form name="frm1" id="cake">
<textarea name="txt1"></textarea>
</form>
<input type="button" value="Activate"
onclick="caek()">
</body>
</html>
当你运行它时,你会注意到光标被推到文本之前的textarea的开头。我怎样才能在所有文本之后来到textarea的末尾?非内联解决方案是最佳的,但任何事情都可以。
独立的解决方案(没有插件等)将是完美的。
答案 0 :(得分:2)
这对我有用。
function caek() {
txtArea = $('textarea[name=txt1]');
txtArea.val("cake");
txtArea.focus();
tmpStr = txtArea.val();
txtArea.val('');
txtArea.val(tmpStr);
}
答案 1 :(得分:2)
答案 2 :(得分:1)
您可以使用rangyinputs jQuery插件以跨平台方式执行此操作。
这里有一个演示:
http://rangyinputs.googlecode.com/svn/trunk/demos/textinputs_jquery.html
将开始和结束设置为相同的数字,然后将光标设置为该点(尽管它不会聚焦textarea,因此您必须在其中标记以查看效果)。在您的情况下,您需要将其设置为文本的长度。