javascript - textarea 中的输入不显示为输入的内容

标签 javascript php html css

我有一个输入区域供用户输入一些文本。但是,当文本更新时,它不会在用户输入时显示。例如,新行不会显示。

这是用户输入的内容:

enter image description here

这是更新后的样子 (一切都在一行中。):

enter image description here

有人可以建议如何解决这个问题吗?

最佳答案

您需要将新行转换为 br,或者您可以将文本放在 pre 元素中(或带有 white-space: pre 的元素* CSS)。

$('textarea').on('keyup',function() {
  var text = $(this).val();
  $('pre').html(text);
  $('article').html(text);
  $('div').html(text.replace(/(?:\r\n|\r|\n)/g, '<br />'))
})
* {margin:0;padding:0;}
pre {
  border: 1px solid blue;
}
div {
  border: 1px solid red;
}
article {
  border: 1px solid green;
  white-space: pre-line;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea></textarea>

<pre></pre>

<div></div>

<article></article>

关于javascript - textarea 中的输入不显示为输入的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724111/

相关文章:

javascript - Kendo Grid 延迟初始化后绑定(bind)点击事件

php - Cookie 不会删除

php - 使用 CakePHP 2.x 获取和显示数据

php - Laravel Query Builder 其间

html - 为什么在删除其父包装元素的属性 "position:relative"时页脚元素位置错误

html - 尝试将导航项与 Logo 对齐时背景图像会拉伸(stretch)

javascript - 一个html页面中的多个页面

javascript - 在 Javascript 中突出显示给定长字符串中的特定字符串

javascript - 退出键击键退出

html - 重新调整不同图像的大小而不失真