← 全部文档

editor.commitBookmark()

结束编辑器当前的撤销条目。通常,时间上相近的连续编辑会合并为一个撤销步骤;提交会把当前步骤标记为完成,这样下一次更改就会开始一个新的、可以单独撤销的条目。可以用它在撤销历史中为某次编程方式的更改划出清晰的边界。

语法

editor.commitBookmark()

参数

无。

返回值

无(undefined)。

行为说明

  • 它控制撤销的粒度,而不是内容。提交不会改变文档;它只决定下一次编辑是并入当前撤销步骤,还是开始一个新步骤。
  • 默认情况下编辑会合并。如果不提交,在一个较短时间窗口内(编辑器的添加撤销超时)发生的更改会合并为一个撤销条目——提交会立即强制划出边界。
  • 撤销时会自动提交。编辑器在执行撤销之前会提交待定的书签,因此普通输入很少需要它——它在脚本编辑前后最有用。

用法示例

把一次编程方式的更改括起来,让它成为单独的一个撤销步骤:

var editor1 = new RichTextEditor("#div_editor1");
editor1.commitBookmark();               // close whatever came before
editor1.setHTMLCode("<b>hello world</b>");
editor1.commitBookmark();               // this insert is now its own undo step

把多个片段作为各自独立的撤销步骤插入,而不是合并成一个步骤:

fragments.forEach(function (html) {
    editor1.insertHTML(html);
    editor1.commitBookmark();   // each fragment undoes independently
});

相关内容