有没有办法防止CKEditor在空标签中插入br并停止删除包装元素。
例如:
当我在编辑器中添加内容时,默认情况下会出现一对“p”。
<div>
<p>content</p>
</div>
但是当我删除'内容'时,它会被替换,而dom看起来像这样:
<p>
br
""
</p>
如何禁用此默认行为?在我的情况下,我希望:
<div>
<p>
<br>
<p/>
</div>
答案 0 :(得分:0)
退格/删除(以及许多其他行为)由浏览器实现,并且可能根据引擎的不同而有所不同。 CKEditor会覆盖其中一些(通常是最破碎的),但我认为它不会处理这种情况。
无论如何,解决方案是以自定义方式处理退格,但是由于案例数量的原因,最简单的方法是重新实现退格行为。因此,我会尝试一些解决方法 - 例如在退格后修复DOM。它会是这样的:
editor#key
事件并检查选择和DOM的位置。请记住它是否与您要修复的情况相符。#keyup
事件并按照您的意愿修复DOM和选择。另外,如果未执行的侦听器出现任何问题,请阅读Listening to DOM events in CKEditor。