0

テキストエリア内で現在選択されているテキストをどのように取得 (および変更) しますか?

リッスンできる select イベントを見てきましたが、現在選択されているテキストを取得する方法があるかどうか疑問に思っていました。

また、テキストエリア内のテキストの特定のセクションを変更できるようにするには、どのようなテクニックを使用する必要がありますか? 全体として、テキストエリアのコンテンツ内で選択の位置がどの位置にあるかを調べる方法があると思いますか?

私ができるようにしたいのは、stackexchange テキスト エディターでできるように、選択内容を取得して変更するか、特定のタグなどでラップすることです。

4

5 に答える 5

3

最新のブラウザーのみをサポートする必要がある場合は、テキストエリアで選択されたテキストの文字位置を公開するselectionStartおよびプロパティを使用できます。selectionEnd選択したテキストだけを変更することはできませんがsetSelectionRange、テキストを再選択するために使用できる値を更新しました。

于 2011-08-07T20:28:05.023 に答える
2

すべてのブラウザー (IE < 9 を含む) でこれを行うための決定的な機能と思われるものを Stack Overflow に何度も投稿しました。一例を次に示します。

IE の document.selection.createRange には、先頭または末尾の空白行が含まれていません

これには、この機能と、選択したテキストを挿入、削除、囲み、または置換する他の機能が含まれています。これは、まさにあなたが望むものと同じように聞こえます。また、私が認識している唯一のテキストエリア選択用の jQuery プラグインでもあり、IE < 9 の改行で正しく動作します。

于 2011-08-07T21:57:03.883 に答える
1

このページから

http://www.netadmintools.com/art466.html

function display(txtarea) {
  var sl = (txtarea.value)
     .substring(txtarea.selectionStart, txtarea.selectionEnd);        
} 


<body onload="thisForm=document.frmKey;">
于 2011-08-07T20:25:17.257 に答える
1

jquery フィールド選択プラグイン.. サイトのサンプルをここからダウンロードしてください。

于 2011-08-07T20:26:24.160 に答える
0

::selection セレクターも同様に機能する場合があります。 http://www.w3schools.com/cssref/sel_selection.asp

于 2011-08-07T21:26:04.543 に答える