我正在使用WYSIWYG编辑器(自定义其他人的代码)并遇到了一些我似乎无法克服的问题。
到目前为止,我已经能够让大多数自定义div工作了,但是我遇到了一些问题:
问题1:如果光标位于div元素之前,我可以按删除并开始删除div的内容而不删除实际的div本身。这就是元素在WYSIWYG中的外观,例如:
但是当光标在元素之前按下删除后,我得到以下内容:
如何检查下一个元素是否为此自定义div并取消删除键?
问题2:我也可以在一个元素之后按退格键,这会导致元素出现在其中的任何文本,如下所示:
如何检查上一个元素是否是我的自定义div并取消退格键?
问题3:当在某个部分内部(此处放置'内容'文本)时,我使用的是具有属性contenteditable="true"
的div。每当我在此div中按“enter”时,都会创建一个新的<div>
标记,而不是换行标记(<br>
)。如何强制创建换行符标签而不是div元素?
我已经在stackoverflow上看了很多,并且尚未找到适合跨浏览器问题的解决方案。
答案 0 :(得分:1)
免责声明:我是CKEditor核心开发人员。
如果您想自定义此方法,有三种方法:
现在,如果您决定使用CKEditor,那么在最近发布的CKEditor 4.3 beta中会引入一个名为Widgets的新功能(4.3稳定版将在最长2-3周内发布)。据我所知,它可能对你的情况非常有帮助。查看Introduction to Widgets guide。非常简短 - 可以配置enter键在所谓的“嵌套可编辑”中的行为方式,以及保护自定义标记的完整性。