web-dev-qa-db-ja.com

jQuery textareaは改行動作を追加します

JQueryを使用して、改行で終わる文字列をテキストエリアに追加しようとしています。ただし、Firefox3.5とIE8では異なる改行トークンが異なる動作を示し、両方のブラウザーで機能するものを使用する方法を見つけることができないようです。

  • \nはFFでは動作しますがIEでは動作しません
  • <br/>および\r\nは、IEで動作しますが、FFでは動作しません
  • <pre></pre>タグを使用しても運がありません

IE innerHTMLの問題に関する情報を見てきましたが、jQueryでこの問題に最善のアプローチをとる方法は正確にはわかりません。ご協力ありがとうございます。

43
Suan

テキストエリアのコンテンツをどのように設定しているかわかりませんが、jQuery valメソッドを使用する場合、\nはFirefoxで一貫して動作し、IE(IE8を含む):

var txt = $("textarea#idhere");
txt.val( txt.val() + "\nSomething here\n\nAgain");

テキストエリアに以下を表示させます:

既存のコンテンツ
および存在する場合は改行。
ここに何かあります

再び

FFおよびIE8で機能するデモを見ることができます。 Demo | ソース

85
Doug Neiner

[Enter]キーを押すと、IE8に新しい行が表示されますか?この質問に対する答えが示唆することを行う必要があるかもしれません: enterはInternet Explorer 8のテキストエリアで機能しません

0
John Boker