IE8のデザインモードでiframe内のテキストのキャレット位置を取得しようとしています。 私は動作しているコードですが、長いテキストの場合、すべてのテキストを選択して一度に1文字ずつ範囲の終わりを移動し始めるため、ひどく醜い動作をします。IE:designModeのiframeにキャレットの位置を表示する方法はありますか?
IEで現在のキャレットの位置を取得するために、より高速で洗練された方法があるのだろうか?ここに私の現在のコードは次のとおりです。
var r = doc.selection.createRange();
r.collapse(false);
doc.execCommand("SelectAll") //this is ugly..
var r2 = doc.selection.createRange();
r2.select();
//..and this is slow
while (r.compareEndPoints("EndToEnd", r2) < 0) {
r2.moveEnd("character", -1)
r2.select();
}
pos = r2.text.length;
これは私が過去にどのようにしたかのようです。ごめんなさい。テキスト編集は悪夢です。 – mwilcox
@mwilcox:私は悪夢を少なくするために多くの仕事をしました。私の答えを見てください。 –