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
});相关内容
- editor.clearHistory()——完全清空撤销/重做栈。
- editor.insertHTML(html)——在光标处插入内容。
- 所有编辑器方法——完整的 JavaScript API。