2012-02-12 47 views
1

我一直在寻找创建一个富文本编辑器,起初我打算使用contentEditable,但事实证明,结果非常不一致,并且输出HTML经常被破坏。ContentEditable Alternative

我想知道是否有其他使用contentEditable的替代方法,例如Google Docs的方式(他们创建了自己的引擎)。

+0

你能否具体谈谈你面临的问题?输出HTML是可以修复的,而大编辑(TinyMCE,CKEditor)在这方面做了合理的工作。 – 2012-02-12 16:24:06

回答

0

为什么不给TinyMCE呢?这是相当不错,相当精致 - 只需要将它与PHP结合起来,你就可以保存内容:)

+0

感谢您的建议,尝试过了,它工作正常。 – skimberk1 2012-02-17 23:01:15

6

即使Google文档也建立在contentEditable上。然而,他们以大多数编辑的方式使用它。

当您关注文档区域时,它看起来像是因为假脱机文档而集中注意力。当键盘事件监听器被设置时,实际焦点转到。引擎(kix)然后根据您按下的按键修改文档区域。

这很棒,因为浏览器并不是修改DOM的人,所以确实没有严重的跨浏览器不一致问题。

我能想到的唯一的选择可能是一个简单的文本输入,而不是一个CONTENTEDITABLE元素偏偏喜欢与最大长度的问题烦时,你可以利用CONTENTEDITABLE ;-)

+0

你肯定谷歌文档使用'contenteditable'上一个隐藏的iframe?上次我看,我找不到任何可以满足的东西。但我可能错了。 – 2012-02-12 16:36:44

+0

是啊,我最后一次检查,谷歌文档没有任何CONTENTEDITABLE元素。 我敢肯定,他们只是检测击键的JavaScript。 – skimberk1 2012-02-12 16:46:59

+0

我刚查过。 kix核心中肯定有contentEditable相关的代码片段。是的,他们确实使用它来检测击键。他们可能希望将一些元素集中(跨浏览器的问题?)这样,当文档区域不是“强调”你不修改的内容。我没有详细研究它。但是我真的找到DOM树'CONTENTEDITABLE = TRUE' ;-) – 2012-02-12 17:06:00