首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作HTML/JS WYSIWYG编辑器?

如何制作HTML/JS WYSIWYG编辑器?
EN

Stack Overflow用户
提问于 2010-04-21 04:08:01
回答 2查看 41.4K关注 0票数 55

我尝试了许多不同的谷歌搜索,但我还没有能够找到一个当前的教程(比2006年更新),关于如何真正创建一个所见即所得编辑器。我知道已经有很多了,但我很好奇它们是如何工作的。我已经看过了一些源代码,但有很多需要消化。格式化的文本似乎不能放在文本区框中,但它们却给人一种这样做的错觉--怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-21 04:28:29

Javascript WYSIWYG编辑器不使用文本区域(至少在外部,很可能在幕后有一个文本区域,其中填充了构成所见即所得内容的代码,以便可以在表单中发布)。

相反,有两个属性用于在网页中创建可编辑区域:应用于整个文档的designMode或应用于特定元素的contentEditable。这两个属性最初都是微软的创新,但已经被所有主流浏览器采用(contentEditable现在是HTML5的一部分)。

一旦使文档(对于富文本编辑器而言,这通常意味着将设置了designMode的iframe嵌入到页面中)或元素可编辑,就可以使用execCommand方法进行格式化(有许多不同的模式--粗体、斜体等--不一定在所有浏览器上都是相同的。有关详细信息,请参阅this table )。

为了将内容从可编辑元素传递到服务器,通常将可编辑元素的innerHTML加载到文本区域中,该文本区域被发布。生成的HTML的构成取决于浏览器。

资源

  • http://blog.whatwg.org/the-road-to-html-5-contenteditable
  • http://www.mozilla.org/editor/ie2midas.html
票数 74
EN

Stack Overflow用户

发布于 2010-04-21 04:16:48

基本上,他们隐藏你的文本区,并放置一个iframe作为编辑器字段。它们捕获您的输入(文本+格式化),并将相应的HTML写入iframe。如果您提交包含原始文本区域的表单,它们会将iframe的内容复制到文本区域中,从而提交html代码。

好吧,这很简单。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2678264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档