粘贴结束标记,而不会在contenteditable中生成开始p标记

我有一个令人满意的div:


当我按下ENTER时,我想要新的段落形成,为此我拦截了ENTER keydown并通过插入html代码替换默认操作:

 $(".content").on("keydown",function(e){if(e.which == 13) { e.preventDefault(); pasteHtmlAtCaret("


");}});

我希望当我按下ENTER键时,

将关闭现有段落并打开一个新段落。 所以,如果我键入:’hello world’+ ENTER,我应该:

 

hello world


你可以在哪里识别

件。 我观察到了不同的行为。 我明白了:

 

hello world


所以似乎第一个

已经产生了一个开始的

标签,并且在

tag

之前的

产生了一个匹配的结束p标签。 这是否意味着我的浏览器忽略了包装

? 当我插入一小段html代码时,如何避免产生新的p标签?

我正在使用Chromium和jQuery 1.7.2。

编辑发生在文档对象模型(DOM)中。 HTML标记实际上并不存在于编辑器中。 HTML被解析为DOM。 在序列化DOM时,会再次生成HTML标记。 因此,不能粘贴不正确的HTML片段而不会产生后果。