繁体   English   中英

换行符不会显示在 IE 的 textarea 中

[英]Line breaks won't display in textarea in IE

使用 jQuery 的.load()方法,我将文本加载到 textarea 中。 在 Chrome 和 FF 中运行良好。 与往常一样,IE 必须有所不同,并且不会显示换行符。

我试过white-space:pre-wrap没有运气。

有任何想法吗?

我的代码:

$('#textarea').load('data.php');

data.php只需查询 MySql 数据库并打印结果。

这可能是一个行尾问题 文本中的换行符是\n s 还是\r\n s? 如果他们只是\n尝试规范化文本。 你可以用一点 JavaScript 来做到这一点:

function normalizeNewlines(text)
{
    return text.replace(/(\r\n|\r|\n)/g, '\r\n');
}

这是一个在过去对我有用的解决方案,基本上相反:我需要从<pre>中取出可以粘贴到!@#$ing记事本中的文本,并显示完整的换行符。

使用innerHTML()时,它们是与 IE 的兼容性问题。 由于 Jquery 的.html().load()方法都使用innerHTML() ,它们通过扩展可能会导致一些问题。 一种解决方案是改用.text() 如果要使用 AJAX 和 Jquery 将文本加载到<textarea>中,则需要执行以下操作:

$('#textarea').post('data.php',function(data){
        $(this).text(data);
    })
);

我在内联编辑模式下使用了 kendoui 网格,对于描述字段 textare 被应用,解决方案是内联样式:

<textarea style="white-space:pre-wrap;" name="' + options.field + '" ...

以及 keydown 事件中的以下代码:

if (event.keyCode == 13) {
        event.stopPropagation();
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM