jQuery textarea append newline behavior

2020-01-28 05:20发布

问题:

I'm trying to append a strings which end in newlines to a textarea using jQuery. However, different newline tokens show different behavior in Firefox3.5 and IE8, and I can't seem to find a way to use something that works for both browsers.

  • \n works in FF but not in IE
  • <br/> and \r\n work in IE but not in FF
  • No luck using <pre></pre> tags either

I've seen info on the IE innerHTML issue but I'm not exactly sure how to best approach this problem in jQuery. Thanks for any help!

回答1:

Not sure how you are setting the textarea content, but if you use the jQuery val method, \n works consistently in Firefox and IE (Including IE8):

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

Causes the textarea to display:

Existing content
and linebreaks if any.
Something here

Again

You can see a demo here that works in FF and IE8: Demo | Source



回答2:

Does pressing the [enter] key cause a new line in IE8 for you? You may have to do what the answer to this question suggests: enter does not work in textarea in Internet Explorer 8