似乎从 IE7 到 IE10 的 IE 在使用 \n 时错误地将文本包装在 textarea 控件中(或 \r\n - 没关系 - 结果是相同的)。这是 IE 中的一个错误,还是他们对待 html 标准的方式与其他浏览器不同——谁是对的?我已经定义:
<textarea id="TextArea1" runat="server" style="width: 190px; height: 390px; white-space: normal; word-wrap: normal; overflow: scroll" ></textarea>
当我尝试使用 JavaScript 代码 (obj.value += text;) 添加像“VeryLongStringEndingWithNewLine\n”这样的长字符串时,文本显示在一行中并带有滚动条(这没关系),但添加了一个额外的空行(\r \n) - 为什么?当我尝试多次添加像“Short\n”这样的短字符串时,再次通过JavaScript代码,文本在同一行(应该在单独的行上,因为应该应用正常的换行)。此外,当我进行回发时,所有 \r\n 都被替换为空格(为什么?),然后正确解析文本(假设我使用空格而不是 crlf 正常换行,只有在不适合该区域时才换行)。
使用 FF 或 Chrome 时,相同的控件行为正确 - 显示长行而没有额外的空下一行,短行在不同的行上,回发时不会用空格替换。
我知道我可能可以使用其他选项或空白字符,但我觉得上面关于 IE 的说法不正确。任何意见?