使用jQuery的方法我正在将文本加载到textarea中。在Chrome & FF中正常工作。与往常一样,IE必须有所不同,不会显示换行符。我试过white-space:pre-wrap
没有运气。换行符不会显示在IE的textarea中
任何想法?
我的代码:
$('#textarea').load('data.php');
的data.php简单查询MySQL数据库,并打印出结果。
使用jQuery的方法我正在将文本加载到textarea中。在Chrome & FF中正常工作。与往常一样,IE必须有所不同,不会显示换行符。我试过white-space:pre-wrap
没有运气。换行符不会显示在IE的textarea中
任何想法?
我的代码:
$('#textarea').load('data.php');
的data.php简单查询MySQL数据库,并打印出结果。
当使用innerHTML()
时,它们与IE的兼容性问题。由于jquery的.html()
和方法都使用innerHTML()
,它们通过扩展可能会导致一些问题。 一种解决方案是使用.text()
代替。如果你想文本加载到使用AJAX和jQuery你需要做的是这样的一个<textarea>
:
$('#textarea').post('data.php',function(data){
$(this).text(data);
})
);
这对我不起作用,但我可以通过使用'.val'解决我的问题 - http://stackoverflow.com/questions/5583040/show-newlines-in-html-textarea/5583094#5583094 – 2013-04-25 14:43:46
这可能是一个line-ending issue。文本\n
s或\r\n
s是否断行?如果他们只是\n
s尝试正常化文本。
function normalizeNewlines(text)
{
return text.replace(/(\r\n|\r|\n)/g, '\r\n');
}
这是本质上是在做相反的,当过去为我工作的解决方案:你可以用一些JavaScript做到这一点,我需要把文本了<pre>
可能被粘贴到的[email protected]#$ing
记事本并显示完整的换行符。
很高兴看到一个马特提出了一个原因,另一个马特同时为该原因写了一个解决方案。 ;) – 2011-05-05 14:24:07
我们matts有一个特殊的债券:) – 2011-05-05 17:04:58
@Matt感谢您的回复。我已经尝试过,没有运气。我试图用'data.indexOf('\\')来检查字符串中的特殊字符'是这样吗? – 2011-05-05 19:46:39
我用kendoui电网联编辑模式,为描述字段textare被applyed,该解决方案是为即内嵌样式:
<textarea style="white-space:pre-wrap;" name="' + options.field + '" ...
而且在keydown事件下面的代码:
if (event.keyCode == 13) {
event.stopPropagation();
}
什么构成的换行符?他们是\ r \ n? – 2011-05-05 14:19:20