Javascript 如何停止CKEditor使用<;替换空标签;br>;

Javascript 如何停止CKEditor使用<;替换空标签;br>;,javascript,ckeditor,Javascript,Ckeditor,是否有办法防止CKEditor在空标记中插入br并停止删除包装器元素 例如: 在编辑器中添加内容时,默认情况下会出现一对“p” <div> <p>content</p> </div> 内容 但当我删除“内容”时,它会被替换,dom看起来像这样: <p> br "" </p> 溴 "" 如何禁用此默认行为?就我而言,我希望: <div> <p> <br>

是否有办法防止CKEditor在空标记中插入br并停止删除包装器元素

例如:

在编辑器中添加内容时,默认情况下会出现一对“p”

<div>
   <p>content</p>
</div>

内容

但当我删除“内容”时,它会被替换,dom看起来像这样:

<p>
  br 
  ""
</p>

溴
""

如何禁用此默认行为?就我而言,我希望:

<div>
  <p>
   <br>
  <p/>
</div>



退格/删除(以及许多其他行为)由浏览器实现,根据引擎的不同,其工作方式可能不同。CKEditor覆盖了其中一些(通常是最坏的),但我认为它不能处理这种情况

无论如何,解决方案是以定制的方式处理退格,但是最直接的方式,即重新实现退格行为,将不容易,因为情况很多。因此,我会尝试一些变通方法,例如在退格后修复DOM。可能是这样的:

  • 侦听事件并检查所选内容和DOM的位置。记住它是否符合您要修复的情况
  • 等待几毫秒,或者直到
    #keyup
    事件,然后按照您的意愿修复DOM和选择
  • 此外,如果未执行的侦听器出现任何问题,请阅读