有没有人知道如何强制一个contenteditable div的内容被div或p包围?如果contenteditable的内容是一个空div - 选择一个范围可以在Firefox上工作,例如在chrome上,文本将插入div之前。我需要文字
HTML:
<div id="edit" contenteditable="true"><div id="insert"></div></div>
Tried this but the results are very inconsistent cross browser:
var range = document.createRange();
range.selectNodeContents(document.getElementById('insert'));
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
这里的第二个问题是,如果这对于一个空的contentEditable来说是某种可能的话,这是否也可以用于手动插入换行符以确保永远不会得到&lt; br /&gt;标签而不是新的div或p?
由于
更新
以下似乎有以下作用:
<div id="edit" contenteditable="true"><div id="insert"><br/></div></div>
附加&lt; br /&gt; Firefox,Chrome,Safari都生成一个空行,其中所有输入都在div内部结束,但Internet Explorer(测试版本9)显示两个空行。如果没有其他可用的解决方案 - 任何想法如何在不使用浏览器检测的情况下解决这个问题?
答案 0 :(得分:0)
您可以覆盖css文件中的br
标记。
br {
display:block;
clear: both;
height: 1em;
line-height: 1em;
}
我不确定em
是否可行。如果没有,您还必须尝试px
格式。