制作WEB在线编辑器-插入HTML标签

网络整理 - 09-07

以前认为WEB的在线编辑器无非就是对输入内容的替换以及快捷的插入HTML代码,但是做的时候却发现虽然原理是那样,但是实现方法并非我想的那么死板。由于很少做UI上的东西所以到现在才知道在document中有execCommand方法可以解决插入HTML标签的问题,这个方法可以在光标所在位置插入需要的HTML标签,并且要注意的是,如果在一个限制的范围内插入标签需要先让该范围获得焦点,例如:

  a.focus();
  a.document.execCommand('insertButton','','btn');


  这里的a对象是一个iframe对象。 execcommand中的第一个参数是需要插入的控件的命令,第2个目前还不知道,第3个是ID名,这里将插入一个ID=btn的BUTTON控件,如果想加入其他属性只需要接着后面写就行了,例如

  a.document.execCommand('insertButton','','btn class=btnclass color=red');


  第一个参数的详细列表

  2D-Position 允许通过拖曳移动绝对定位的对象。

  AbsolutePosition 设定元素的 position 属性为“absolute”(绝对)。

  BackColor 设置或获取当前选中区的背景颜色。

  BlockDirLTR 目前尚未支持。

  BlockDirRTL 目前尚未支持。

  Bold 切换当前选中区的粗体显示与否。

  BrowseMode 目前尚未支持。

  Copy 将当前选中区复制到剪贴板。

  CreateBookmark 创建一个书签锚或获取当前选中区或插入点的书签锚的名称。

  CreateLink 在当前选中区上插入超级链接,或显示一个对话框允许用户指定要为当前选中区插入的超级链接的 URL。

  Cut 将当前选中区复制到剪贴板并删除之。

  Delete 删除当前选中区。

  DirLTR 目前尚未支持。

  DirRTL 目前尚未支持。

  EditMode 目前尚未支持。

  FontName 设置或获取当前选中区的字体。

  FontSize 设置或获取当前选中区的字体大小。

  ForeColor 设置或获取当前选中区的前景(文本)颜色。

  FormatBlock 设置当前块格式化标签。

  Indent 增加选中文本的缩进。

  InlineDirLTR 目前尚未支持。

  InlineDirRTL 目前尚未支持。

  InsertButton 用按钮控件覆盖当前选中区。

  InsertFieldset 用方框覆盖当前选中区。

  InsertHorizontalRule 用水平线覆盖当前选中区。

  InsertIFrame 用内嵌框架覆盖当前选中区。

  InsertImage 用图像覆盖当前选中区。

  InsertInputButton 用按钮控件覆盖当前选中区。

  InsertInputCheckbox 用复选框控件覆盖当前选中区。

  InsertInputFileUpload 用文件上载控件覆盖当前选中区。

  InsertInputHidden 插入隐藏控件覆盖当前选中区。

  InsertInputImage 用图像控件覆盖当前选中区。

  InsertInputPassword 用密码控件覆盖当前选中区。