3

開始インデックスと終了インデックスに基づいてプログラムでテキストエリア内のテキストを選択しようとしましたが、何らかの理由で選択がいくつかの文字位置でオフセットされています。

ユーザーは、データベースに保存する最初の手動選択を行います。最初の選択の開始/終了位置を取得するために、ここで概説したアプローチを使用していますテキストエリアのキャレット位置、最初からの文字数 (Tim Down による回答)

ユーザーが行った選択を保存し、ユーザーがページに戻ったときに、以前の選択をデフォルトにしたいと考えています。

Tim Down の関数を使用して抽出した保存された位置に基づいて選択を行うコードは次のとおりです。

  function SelectText(start,end) {
    var textArea = document.getElementById("textArea");

    var inputRange = textArea.createTextRange();
    inputRange.collapse(true);

    inputRange.moveStart("character", start);
    inputRange.moveEnd("character", end - start);

    inputRange.select();
}

問題は改行/スペースが原因のようです。開始と終了に基づいてプログラムでIEで正しく選択する方法を知っている人はいますか?

4

1 に答える 1

1

役立つかどうかは正確にはわかりませんが、Tim Down によって開発され、次の URL から入手できる RangyInputs js ライブラリを試すことができます: http://code.google.com/p/rangyinputs/

私としては、Rangy (Tim Down によって開発された) ライブラリを使用して、プロジェクトの 1 つで編集可能なコンテンツ div を作成しました。これは非常にうまく機能し、大いに役立ちました。

サポートされているメソッドに関するドキュメントは、WiKi ページにあります: http://code.google.com/p/rangyinputs/wiki/Documentation

于 2012-10-26T20:26:09.383 に答える