Internet Explorer \n 换行符不起作用

Joh*_*ohn 2 javascript

在所有版本的 IE 中(我目前正在测试 IE11)textarea元素内部的新换行符不起作用......

function id_(id)
{ 
 var r = false;
 if (document.getElementById(id))
 {
  r = document.getElementById(id);
 }
 return r;
}

window.onload = function()
{
 for (i in document.getElementsByTagName('audio')[0])
 {
  id_('test').value = id_('test').value + '\n' +i;
 }
}
Run Code Online (Sandbox Code Playgroud)

如何强制 IE 在textarea元素中换行?没有框架。

我已经尝试过\n\r,,\r\n\r\n

Joh*_*ohn 5

最小化代码后,问题是 CSSwhite-space属性,我用下面的代码修复了这个问题。

* {white-space: nowrap;}
textarea {white-space: pre;}
Run Code Online (Sandbox Code Playgroud)

  • 当空白设置为“nowrap”时,IE 会忽略换行,这真的很奇怪。我尝试过 Chrome、Firefox、Safari 和 Opera,但只有 IE 显示此行为。根据 http://www.w3.org/wiki/CSS/Properties/white-space,“nowrap”*应该*抑制换行符,因此 IE 是否可能是*唯一*能做到这一点的浏览器? (2认同)