0

以下のように、関数 get 選択内で charAt 関数を使用できますか?

getSelected function () {
   var userSelection;
   if (window.getSelection) {
      userSelection = window.getSelection ();
   } else if (document.selection) {
       userSelection = document.selection.createRange ();
   }
   userSelection return;
}

例: テキスト全体をスタック オーバー フローに歓迎すると、選択したテキストがスタックになります。ユーザーがテキストを選択すると、charAt で指定された位置を取得する関数を作成できますか? システムが同じテキストを見つけた場合、システムはその位置を返しますか??

私の知る限り、charAt関数を使用して文字列の特定の位置を決定できるため.. http://help.dottoro.com/ljetnrhv.php#charAt

4

1 に答える 1

1

どちらのメソッドも文字列ではなくオブジェクトを返すため、直接ではありません。charAtを使用するには、次の行に沿って、selectionの文字列値を取得する必要があります。

function getSelectionText() {
   if (window.getSelection)
      return window.getSelection().toString();
   if (document.selection)
       return document.selection.createRange().text;
   return null;
}

alert(getSelectionText().charAt(2)); // 3rd selected char

別の文字列内の文字列の位置を見つけるには、indexOfを使用します。HTML構造を考慮する必要があるため、ページ上の選択範囲の位置を見つけることははるかに複雑です。詳細については、ここここから始めてください。

于 2010-12-09T05:16:30.373 に答える