Afo*_*uis 42 html css html5 contenteditable
我在数据库中存储内容,例如:
Hello
This
is
Text
Run Code Online (Sandbox Code Playgroud)
当我将它传递给textarea时,它会保留新的换行符.但是,如果我将该文本传递给内容可编辑的div,它将保持如下:
Hello This is Text
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Exp*_*lls 113
在div上设置样式:white-space: pre
或white-space: pre-wrap
小智 5
尝试这个......
var patt2 = new RegExp("<div>","g");
var patt3= new RegExp("</div>","g");
var patt4= new RegExp("<br>","g");
var z=x.replace(patt2,"\n").replace(patt3,"").replace(patt4,"");
Run Code Online (Sandbox Code Playgroud)
这样就可以了...
要在@Explosion Pills上添加一些正确答案的信息,并从MDN中提取一些信息:
CSS white-space
属性可以帮助您:
white-space: pre
Run Code Online (Sandbox Code Playgroud)
保留空白序列。行仅在源和
<br>
元素中的换行符处断开。
如示例所示,这可能会导致不必要的水平滚动条!
white-space: pre-wrap
Run Code Online (Sandbox Code Playgroud)
保留空白序列。在换行符处的行被断开
<br>
,并在必要时填充行框。
正如@ceremcem指出的那样,当复制粘贴文本时,框末尾的换行符不会被传输,这是有道理的,因为这些换行符不是文本格式的一部分,而是视觉外观的一部分。
white-space: pre-line
Run Code Online (Sandbox Code Playgroud)
空白序列被折叠了。在换行符处的行被断开
<br>
,并在必要时填充行框。
white-space: pre
Run Code Online (Sandbox Code Playgroud)
white-space: pre-wrap
Run Code Online (Sandbox Code Playgroud)
在Chrome中,您可能会遇到麻烦:按下Enter将<div>
在您的内容可编辑内容中生成一个新内容。为防止这种情况,您可以按Shift+ Enter或将其设置display: inline
为可编辑的内容,<div>
如小提琴中所示。
归档时间: |
|
查看次数: |
36909 次 |
最近记录: |