似乎IE从IE7开始到IE10在使用\ 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不正确。有什么意见吗?
答案 0 :(得分:1)
在正常情况下,textareas按字面意思处理空白并根据需要进行包装。
但是因为你用CSS覆盖它,结果可能不稳定。
在这种情况下,空格(\n
)会折叠到单个空格,因为这是white-space:normal
所做的。
我不完全确定你要在这里实现什么,因为我很确定textareas的默认行为是完全正常的。如果您不想要这种行为,则不应使用textarea。