1

まず、この質問を削除した後、私がこの質問を再投稿したことに気付く方もいらっしゃるかもしれません。これは、わざわざチェックしなかった人が誤って重複としてマークしたためです。彼がリンクした質問は<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>

これを実行すると、カーソルがテキスト領域の先頭、テキストの前に押されていることがわかります。テキストエリアの最後に、すべてのテキストのに来るようにするにはどうすればよいですか?非インラインソリューションが最適ですが、何でもかまいません。

そして、スタンドアロンソリューション(プラグインなどなし)が最適です。

4

3 に答える 3

2

これは私のために働いています。

function caek() {
    txtArea = $('textarea[name=txt1]');
    txtArea.val("cake");
    txtArea.focus();    
    tmpStr = txtArea.val();
    txtArea.val('');
    txtArea.val(tmpStr);
}
于 2012-07-03T01:33:48.580 に答える
2

これは機能します。

$ta.text($ta.text()).focus()

デモ: http: //jsfiddle.net/elclanrs/WWsBa/

于 2012-07-03T01:39:54.577 に答える
1

rangyinputs jQueryプラグインを使用して、クロスプラットフォームの方法でこれを行うことができます。

ここにデモがあります:

http://rangyinputs.googlecode.com/svn/trunk/demos/textinputs_jquery.html

開始と終了を同じ番号に設定すると、カーソルがそのポイントに設定されます(ただし、テキストエリアはフォーカスされないため、効果を確認するにはタブで移動する必要があります)。あなたの場合、あなたはそれをテキストの長さに設定したいと思うでしょう。

于 2012-07-03T01:30:56.147 に答える