使用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