我一直在研究创建一个富文本编辑器,起初我打算使用contentEditable,但事实证明结果非常不一致,输出HTML经常被破坏。
我想知道是否有使用contentEditable的替代方法,例如Google Docs的方式(他们创建了自己的引擎)。
答案 0 :(得分:6)
即使是Google文档也是基于contentEditable构建的。然而,他们以与大多数编辑不同的方式使用它。
当您对文档区域进行聚焦时,由于假插入符号,它看起来似乎是聚焦的。实际焦点是设置了键盘事件侦听器的<iframe>
。然后引擎(kix)根据您按下的键修改文档区域。
这很棒,因为实际上没有严重的跨浏览器不一致,因为浏览器不是修改DOM的人。
我能想到的唯一选择可能是简单的文本输入而不是contentEditable元素,但是当你可以利用contentEditable时,为什么还要担心最大长度等问题; - )
答案 1 :(得分:0)
为什么不给TinyMCE一个机会呢?它非常好而且相当精致 - 只需要将它与PHP结合起来就可以保存内容:)