Jquery 从文本区域向段落添加换行符
我有一个Jquery 从文本区域向段落添加换行符,jquery,Jquery,我有一个textarea框,用户在其中键入消息,然后将其输出到段落标记中。 我成功捕获了文本,但似乎无法捕获换行符。 理想情况下,我正在寻找字符串替换,例如或\n。 任何帮助都将不胜感激,谢谢 var txtBox = $('#myTextArea'); var txt = txtBox.val(); txtBox.keyup(function(){ txt = txtBox.val(); $('p.msg').html(txt); }); txtBox.
textarea
框,用户在其中键入消息,然后将其输出到段落
标记中。我成功捕获了文本,但似乎无法捕获换行符。
理想情况下,我正在寻找字符串替换,例如
或\n
。任何帮助都将不胜感激,谢谢
var txtBox = $('#myTextArea');
var txt = txtBox.val();
txtBox.keyup(function(){
txt = txtBox.val();
$('p.msg').html(txt);
});
txtBox.keydown(function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 13) {
$('p.msg').append('<br />');//ApplyLineBreaks(txt);
}
});
var txtBox=$('#myTextArea');
var txt=txtBox.val();
txtBox.keyup(函数(){
txt=txtBox.val();
$('p.msg').html(txt);
});
txtBox.keydown(功能(e){
var keyCode=e.keyCode | | e.which;
如果(键代码==13){
$('p.msg').append('
');//ApplyLineBreaks(txt);
}
});
还有标记
<textarea id="myTextArea" class="form_0" name="Enter your message" type="text"></textarea>
<p class="msg" style="text-align: center;">msg here</p>
此处显示消息
您正在覆盖键控功能中的
s。取消keydown
功能,并将keydup
更改为:
txtBox.keyup(function(){
$('p.msg').html(txtBox.val().replace(/\n/g, '<br>'));
});
txtBox.keyup(函数(){
$('p.msg').html(txtBox.val().replace(/\n/g,
));
});
您正在覆盖键控功能中的
s。取消keydown
功能,并将keydup
更改为:
txtBox.keyup(function(){
$('p.msg').html(txtBox.val().replace(/\n/g, '<br>'));
});
txtBox.keyup(函数(){
$('p.msg').html(txtBox.val().replace(/\n/g,
));
});
您可以使用CSS告诉元素保留空白:
p.msg {
display: block;
white-space: pre;
}
并简化JS代码:
var $txtBox = $('#myTextArea');
$txtBox.keyup(function(){
$('p.msg').text($txtBox.val());
}).trigger('keyup');
演示:您可以使用CSS告诉元素保留空白:
p.msg {
display: block;
white-space: pre;
}
并简化JS代码:
var $txtBox = $('#myTextArea');
$txtBox.keyup(function(){
$('p.msg').text($txtBox.val());
}).trigger('keyup');
演示:只需按键事件即可:
var txtBox = $('#myTextArea');
txtBox.keydown(function(e){
var that = this;
setTimeout(function(){
$("p.msg").html(that.value.replace(/\n/g,"<br />"));
},10);
});
var txtBox=$('#myTextArea');
txtBox.keydown(功能(e){
var=这个;
setTimeout(函数(){
$(“p.msg”).html(即.value.replace(/\n/g,“
”);
},10);
});
setTimeout
很重要,它允许在访问this.value
之前填充该值。您可以通过按键事件来完成此操作:
var txtBox = $('#myTextArea');
txtBox.keydown(function(e){
var that = this;
setTimeout(function(){
$("p.msg").html(that.value.replace(/\n/g,"<br />"));
},10);
});
var txtBox=$('#myTextArea');
txtBox.keydown(功能(e){
var=这个;
setTimeout(函数(){
$(“p.msg”).html(即.value.replace(/\n/g,“
”);
},10);
});
setTimeout
很重要,它允许在访问this.value
之前填充该值。您的keyup
处理程序将在运行keydown
后立即覆盖p.msg
的内容。在密钥设置中使用此选项:
$('p.msg').html(txt.replace("\n","<br/>"));
$('p.msg').html(txt.replace(“\n”,“
”);
您的keyup
处理程序将在运行keydown
后立即覆盖p.msg
的内容。在密钥设置中使用此选项:
$('p.msg').html(txt.replace("\n","<br/>"));
$('p.msg').html(txt.replace(“\n”,“
”);
replace(/\n/g,“
”)
会将所有线路中断设置为keydown
到keydup
,您不需要设置超时anymore@DigitalD使用keydown的目的是它比keydup更即时,在我看来,它的用户体验要好得多。直到您抬起钥匙时,keyup才会注册,其中带有10毫秒延迟的按键会立即响应用户。replace(/\n/g,“
”)
会将所有线路中断设置为keydown
到keyup
,您不需要设置超时anymore@DigitalD使用keydown的目的是它比keyup更即时,在我看来,用户体验要好得多。直到您举起钥匙时,keyup才会注册,而带有10毫秒延迟的keydown会向用户提供即时响应。keydown确实看到特殊钥匙,您指的是哪些特殊钥匙?看,我没有注意,意识到keyup是在keydown之后触发的,所以keydown中发生的任何事情都被覆盖。keydown确实看到特殊键,您指的是哪些特殊键?看,我没有注意到,并且意识到keyup是在keydown之后启动的,所以keydown中发生的一切都被覆盖了。谢谢,但是我需要某种标记来表示这个特定问题的中断。css解决方案不插入
值,我需要某种标记来表示这个特定问题的换行符。在第三行,我有一个“理想的字符串替换,比如
,或者\n是我要找的。”谢谢,但是我需要某种标记来为这个特定问题的分界符css解决方案不插入
值,我需要某种标记来指示这个特定问题的分界符。在第三行,我有“理想的字符串替换,如
或\n是我所寻找的。”