テキストエリアに入力するときにカラット位置を変更するコードに取り組んでいます。ほとんどのブラウザーでは、改行は「\n」ですが、IE 8 以下では、改行は「\r\n」であり、通常の改行の長さの 2 倍になります。カラット位置を設定するときに、この不一致をどのように説明できますか? このリソースを見つけましたが、問題を修正するためにそれを実装する方法がわかりません。「\r\n」を「\n」に取り除いた後に改行の数を数え、その量を2倍してカラット位置に追加するのと同じくらい簡単だと思ったのですが、うまくいきません。
フィドル: http://bit.ly/TAQxiV
行 67 ~ 116 は、カラット位置とテキストエリアの内容を取得および設定するために使用されます。
問題のスクリプト: http://jakiestfu.github.com/Behave.js/