テキストエリア内のキャレット位置の取得
selectionStart プロパティをサポートする Firefox や Safari などの最新のブラウザの場合、キャレットの列の位置を取得するのは簡単です。
function getCaretColumn(textarea) { return textarea.selectionStart; }
ただし、IE および従来のブラウザでは、このプロパティは利用できないため、より複雑な設定が必要です。解決策:
function getCaretColumnIE(textarea) { var caret = document.selection.createRange(); var length = 0; var dul = caret.duplicate(); dul.moveToElementText(textarea); sel.text = '<pre class="brush:php;toolbar:false">function getSurroundingStrings(textarea) { var start = textarea.selectionStart; var end = textarea.selectionEnd; return [ textarea.value.slice(0, start), textarea.value.slice(start, end), textarea.value.slice(end) ]; }
カーソル周囲の文字列の取得
カーソルまたは選択範囲の周囲の文字列を取得するには、開始キャレットと終了キャレットの取得を組み合わせて使用できます。位置、およびテキストエリアの値のスライス:
単語がまたはテキストが強調表示されている場合、この関数は選択範囲の前、選択範囲内、選択後の文字列を返します。
以上がテキストエリア内のキャレット位置と周囲のテキストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。