Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用JavaScript编写一个简单的所见即所得编辑器?_Javascript_Html_Editor_Wysiwyg - Fatal编程技术网

如何用JavaScript编写一个简单的所见即所得编辑器?

如何用JavaScript编写一个简单的所见即所得编辑器?,javascript,html,editor,wysiwyg,Javascript,Html,Editor,Wysiwyg,在我的项目中,我需要编写一个小的WYSIWYG编辑器(只需让用户将文本设置为粗体/斜体/下划线,或者更多)。所以我不想使用像tinymce或fckeditor这样的怪物。我的问题是,我需要了解哪些HTML元素和javascript函数?在这个问题中,我可以编辑和格式化文本的HTML元素是一件非常有趣的事情 document.getElementById('edit').contentDocument.designMode = "on"; 看一看如果你想自己动手,看一看。它有FF3+版本,即Sa

在我的项目中,我需要编写一个小的WYSIWYG编辑器(只需让用户将文本设置为粗体/斜体/下划线,或者更多)。所以我不想使用像tinymce或fckeditor这样的怪物。我的问题是,我需要了解哪些HTML元素和javascript函数?在这个问题中,我可以编辑和格式化文本的HTML元素是一件非常有趣的事情

document.getElementById('edit').contentDocument.designMode = "on";

看一看

如果你想自己动手,看一看。它有FF3+版本,即Safari、Opera和Chrome


基本上,您可以使用contentEditable和execCommand将浏览器转换为RTE。

我以前使用过的wysiwyg编辑器,它允许您配置按钮,以便轻松使用,并将按钮限制为粗体/斜体/下划线。

或者使用简单的语言,如markdown或textile,并提供实时预览


我想大多数人会用星号来强调,用双倍星号来加粗,这是一个非常简单明了的代码。如其他答案所述,它使用设计模式和execCommand。

如果您想支持多个浏览器引擎,您将面临一条艰难的道路。来自Aloha编辑团队的Norbert Pomaroli进入了一些哥特语。顺便说一句,你是如何管理的?