1

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

フィドル: http://bit.ly/TAQxiV

行 67 ~ 116 は、カラット位置とテキストエリアの内容を取得および設定するために使用されます。

問題のスクリプト: http://jakiestfu.github.com/Behave.js/

4

1 に答える 1

0

2最も簡単な解決策は、IEの特定のバージョンをテストし、そのような場合にいくつかの変数を変更することです1

BrowserDetectオブジェクトを使用してこれを行うことができます。

BrowserDetect.browser // the name of the browser
BrowserDetect.version // the version of the browser
于 2013-01-26T09:27:56.230 に答える