输入在 Internet Explorer 8 中的 textarea 中不起作用

Posted

技术标签:

【中文标题】输入在 Internet Explorer 8 中的 textarea 中不起作用【英文标题】:enter does not work in textarea in Internet Explorer 8 【发布时间】:2010-11-19 21:53:58 【问题描述】:

当我在一个 textarea 中按回车键时,它通过 css 将 whitespace 属性设置为 nowrap,它是无效的。不创建新行。 Instread 出现一个简单的空格。 这仅在 IE8 中是正确的。我已经尝试过当前版本的 Opera、Chrome 和 Firefox,我还没有遇到过这样的问题。 您对此有什么解决办法吗?

谢谢..

我有这个:

.gwt-TextArea

white-space:nowrap;

gwt-TextArea 设置文本区域的位置。

我也试过了

.gwt-TextArea
    
    white-space:pre;
    

它似乎给出了相同的结果。

【问题讨论】:

FML,同样的问题.. 【参考方案1】:

This article 表示 Internet Explorer 忽略换行符 with white-space: nowrap

他们的解决方法是使用white-space: pre。这会让你得到你想要的行为吗?

【讨论】:

【参考方案2】:

因此,不幸的是,解决方案是 -对于 Internet Explorer 7,除 pre 之外的任何 white-space 值都将导致此问题。对于 Internet Explorer 8,任何 white-space 值其他比pre-wrap 会导致这个问题。

不过,我还没有尝试过 Internet Explorer 9。如果那里也发生这种情况,只需使用(文档类型和)<textarea> 创建一个空白页面,打开它并按 F12。在控制台(“脚本”选项卡)中,键入 console.log(document.getElementsByTagName("TEXTAREA")[0].currentStyle.whiteSpace) 并简单地将输出中显示的值用作 <textarea>white-space 属性的值。

更新

我尝试了 Internet Explorer 11。在 Internet Explorer 7 模式之后的仿真模式下,它的行为类似于 Chrome 的怪癖模式(也就是说,只有 white-space: normalwhite-space: nowrap 会导致此问题)。 我猜他们(无意中?)对大多数仿真模式进行了一些修复。

【讨论】:

此问题在 Internet Explorer 11 中仍然存在,即使您将 white-space 值明确设置为 normal @wangkaibule - 如果您将其设置为 normalnowrap,Chrome 会忽略新行。我想这是设计使然。不过,Internet Explorer 11 修复了其余部分。我用有关 Internet Explorer 11 的数据更新了我的答案。【参考方案3】:

必须是 CSS 解决方案吗?如果没有,您可以为 textarea 分配属性 wrap="off"。

【讨论】:

IE9 和 Chrome 13 之间的行为不一致。设置属性 wrap="off" 在两种浏览器中的效果相同。【参考方案4】:

可用选项(在此处找到:Quirksmode.org)是:

正常 nowrap,IE5.5+ pre,IE6+ 预行 IE8 预包装 IE8

可能值得使用white-space: normal(我没有可以用来试验的 IE,但我想如果可以将状态更改为 abnormal 将默认可用>正常)。


已编辑,关于 OP 的评论/回复。

您使用的是文档类型吗? (我推荐使用<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

假设您是,您是否有机会发布指向演示页面的链接?或者发布您的 (x)html 和 css,看看是否存在某种样式覆盖或拼写错误,从而阻止应用 css?

【讨论】:

前置行不行,它不保留空格和制表符。我试过pre,它不起作用。正常是包装模式,这也无济于事。我查看了 quirksmode.org。它声称 IE8 与 pre 和 nowrap 完全兼容。在我看来并非如此。至少对于 textareas。

以上是关于输入在 Internet Explorer 8 中的 textarea 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

onkeydown 和 onkeyup 事件在 Internet Explorer 8 上不起作用

为啥即使在模拟 Internet Explorer 8 文档模式时,Internet Explorer 11 也不支持条件注释?

高度:在 Internet Explorer 8 及更低版本中自动

无法在 Internet Explorer 8 中显示 SVG 图表

Internet Explorer 8 中隐藏的顶部 TD 边框

jQuery 高级选择器在 Internet Explorer 8 中失败