Microsoft Office の Outlook などのプログラムに見られる「自動修正」機能を少し複製しようとしています。
手始めに、ユーザーが行の先頭に「a」(文字 a とスペース) を入力するたびに、そのテキストを「*Agent [」に変更したいと考えています。
テキストエリアに上から下に入力している場合に問題なく動作する以下を書きました。ただし、テキストエリアの他の場所に入力すると、テキストが変更され、カーソルがテキストエリアの最後に移動します。
変更されたテキストの最後にカーソルを常に配置したい。
変数で変更された行番号がありcurrentLineNumber
、カーソルがその行の8番目の文字の後にある必要があることはわかっていますが、そこに移動するように指示する方法がわかりません
理想的には、次のようなものが好きです
function setCursor(row, position) {
//.... code to set cursor
}
これを達成するにはどうすればよいですか? 私はjavascriptまたはjQueryソリューションを受け入れています(ただし、jQueryは読みにくく、理解するのが少し難しいと思います)
全体的に必要なものを達成するためのより良い方法があれば、それも受け入れます。
問題を理解していない場合は、ここにjsFiddleがあります