[解決済み] textareaのカーソル位置はどのように取得するのですか?
2023-07-03 14:29:31
質問
テキストエリアがあるのですが、JavaScriptでカーソルがテキストエリアの最終行にあるのか、それとも先頭行にあるのかを知りたいのです。
最初の改行文字と最後の改行文字の位置を掴んで、カーソルの位置を掴もうと考えました。
var firstNewline = $('#myTextarea').val().indexOf('\n');
var lastNewline = $('#myTextarea').val().lastIndexOf('\n');
var cursorPosition = ?????;
if (cursorPosition < firstNewline)
// I am on first line.
else if (cursorPosition > lastNewline)
// I am on last line.
- テキストエリア内のカーソル位置を取得することは可能でしょうか?
- textareaの最初の行にいるか最後の行にいるかを見つけるための良い提案はありますか?
JavaScriptが同じかそれ以上に単純でない限り、jQueryのソリューションが好ましいです。
どのように解決するのですか?
選択範囲がない場合は、プロパティの
.selectionStart
または
.selectionEnd
(のどちらかを選択します(選択しない場合、それらは等しくなります)。
var cursorPosition = $('#myTextarea').prop("selectionStart");
これは古いブラウザ、特にIE8-ではサポートされていないことに注意してください。 そこでは、テキスト範囲を扱う必要がありますが、完全にフラストレーションです。
しかし、入力要素における選択/カーソル位置の取得と設定に特化したライブラリがどこかにあると思います。その名前は思い出せませんが、このテーマに関する記事は何十もあるようです。
関連
-
[解決済み] textareaのresizableプロパティを無効にするにはどうしたらよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] Node.jsでbase64エンコードされた画像をAmazon S3へアップロードする
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】テキスト入力フィールド内のカーソル位置(文字数)を取得する。
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] JavaScriptを使用してHTML要素に属性を追加/更新するには?
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法