我正在做一些非常类似于stackoverflow问题预览的事情,只是更加基础。
文字区域中的用户类型 - > keyup显示他们在预览中输入的内容
新行无效
$('input, textarea').keyup(function(){
var value = $(this).attr('value').replace('\n', '<br />').replace('\r', '<br />');
$('p.preview').html(value);
})
答案 0 :(得分:1)
你需要这样的东西:
$('input, textarea').keyup(function(){
var value = $(this).attr('value').replace(/\n/g,'<br/>').replace(/\r/g,'');
$('p.preview').html(value);
});
请注意/g
,您需要替换第一次出现的次数,而且我们只替换其中一个回报,因此您在textarea中每1次预览中不会得到2行回报/输入。
答案 1 :(得分:0)
jQuery.val()
而不是jQuery.attr()
您可以使用完全符合要求的CSS white-space: pre-line
属性:
$("input, textarea").keyup(function() {
$("p.preview").html($(this).val());
});
p.preview {
white-space: pre-line;
}