将div中的段落替换为具有contenteditable的div

时间:2010-07-20 09:36:24

标签: javascript jquery html

当用户按ENTER键时,如何仅将<br />放入div contenteditable?我必须在发送后以XML格式管理该div的内容,但有些浏览器会将新行转换为<p>,有些(例如Google Chrome)转换为<div>

好的解决方案是强制在所有浏览器(仅<p>或仅<div>)中使新行相同。

PS:我正在使用jQuery和PHP。

4 个答案:

答案 0 :(得分:1)

如何按下Enter键来捕获用户键盘事件?

答案 1 :(得分:0)

不确定,但请注意&lt; shift&gt;&lt; enter&gt;通常插入&lt; br /&gt;,我相信。

我想知道你是否可以强迫onKeypress转变?

答案 2 :(得分:0)

试试这个:<div contenteditable="true">test1<div></div></div>

当您在内容可编辑元素中点击返回时,可以强制使用单行间距,方法是使用内部DIV播种,如下所示:

答案 3 :(得分:-3)

div {white-space:pre};

“空白”     价值:正常|前| nowrap |预包装|前线|继承     初始:正常     适用于:所有元素     继承:是的     百分比:N / A.     媒体:视觉     计算值:指定

此属性声明如何处理元素内的空白区域。值具有以下含义:

正常     此值指示用户代理折叠空白序列,并根据需要断行以填充行框。 预     此值可防止用户代理折叠空白序列。行仅在源中的换行符处或在生成的内容中出现“\ A”时断开。 NOWRAP     此值会折叠白色空间,与“正常”相同,但会抑制文本中的换行符。 预包装     此值可防止用户代理折叠空白序列。在生成的内容中出现“\ A”时,在源中的换行处断开行,并根据需要填充行框。 前行     此值指示用户代理折叠空白序列。在生成的内容中出现“\ A”时,在源中的换行处断开行,并根据需要填充行框。

源中的换行符可以用回车符(U + 000D),换行符(U + 000A)或两者(U + 000D U + 000A)表示,或者用标识文档开头和结尾的其他机制表示段,例如SGML RECORD-START和RECORD-END令牌。 CSS“白色空间”处理模型假设所有换行都已标准化为换行符。

实施例(一个或多个):

以下示例显示了PRE和P元素以及HTML中“nowrap”属性的预期空白行为。

pre {white-space:pre} p {white-space:normal} td [nowrap] {white-space:nowrap}