JScriptハンドブックを読んで存在を知ったオブジェクト「TextRange」にハメられた。
moveStart/Endメソッドで文字列の選択範囲をイジって色々やろうと思ってテストしてたんだがどうもうまく行かない。特に終端位置を前にズラそうとする時によく分からん挙動をする。
改行は二文字扱いなのか?タグの境界を越える分だけ数値に補正が必要なのか?とか色々考えて挙動を理解しようとしたけど上手くいかず。
結局ググってみたら「負数は使えるけど使わない方が無難」らしい。
TextRangeオブジェクトを作成したら、tr.setEndPoint('EndToStart',tr);で「開始位置=終端位置、length:0」にして、それぞれを正方向に動かした方がいいらしい。
その通りに試してみたら問題解決。
このオブジェクト……なんか色々失敗してるだろとしか思えない;;
moveStart/Endメソッドで文字列の選択範囲をイジって色々やろうと思ってテストしてたんだがどうもうまく行かない。特に終端位置を前にズラそうとする時によく分からん挙動をする。
改行は二文字扱いなのか?タグの境界を越える分だけ数値に補正が必要なのか?とか色々考えて挙動を理解しようとしたけど上手くいかず。
結局ググってみたら「負数は使えるけど使わない方が無難」らしい。
TextRangeオブジェクトを作成したら、tr.setEndPoint('EndToStart',tr);で「開始位置=終端位置、length:0」にして、それぞれを正方向に動かした方がいいらしい。
その通りに試してみたら問題解決。
このオブジェクト……なんか色々失敗してるだろとしか思えない;;