IE textarea包装bug?

问题描述 投票:2回答:1

当使用\ n(或者\ r \ n - 无关紧要 - 结果是相同的)时,似乎IE从IE7开始到IE10在textarea控件中错误地包装文本。这是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 \ n) - 为什么?当我尝试多次添加像“Short \ n”这样的短字符串时,再次通过JavaScript代码将文本放在同一行(应该在单独的行上,因为应该应用正常的包装)。此外,当我回发时,所有\ r \ n用空格替换(为什么?)然后正确解析文本(假设我使用空格而不是crlf正常包装空间只包装时不适合该区域)。

当使用FF或Chrome时,相同的控制行为正确 - 长行显示没有额外的空下一行,短行在不同的行上,在回发时不用空格替换。

我知道我可能会使用其他选项或空白字符,但我觉得上面的IE不正确。任何意见?

html internet-explorer textarea word-wrap
1个回答
1
投票

在正常情况下,textareas按字面意思处理空白并根据需要进行包装。

但是因为你用CSS覆盖它,结果可能不稳定。

在这种情况下,空白(\n)正在折叠到一个空间,因为这就是white-space:normal所做的。

我不完全确定你在这里想要实现什么,因为我很确定textareas的默认行为是完全正常的。如果您不想要这种行为,则不应使用textarea。

© www.soinside.com 2019 - 2024. All rights reserved.