CKEditor恢复元素/撤消所有更改
CKEditor restore element / undo all changes
是否有一种方法可以恢复原始内容/撤消已成为Inline-CKEditor的元素的所有更改?
似乎不存在这样的内置函数,例如这个ticket
一些人建议使用onclick
javascript事件按钮来重新加载页面。或者将初始数据保存在编辑器中,并再次使用javascript替换事件上的内容。(这是一个关于你的请求与上述技巧的线程。)
我的解决方案:
实例化CKEditor后,我将CKEDITOR.editor1.getData()
的初始内容保存到自定义变量CKEDITOR.editor1.firstSnapshot
。后来当我想恢复它时,我用CKEDITOR.editor1.setData(CKEDITOR.editor1.firstSnapshot);
起初我想使用getSnapshot()
,但它总是返回true
,所以这对我不起作用。
我想分享一种不同的解决问题的方法。我使用内联CKEditor,并有一个模糊事件(当用户不聚焦CKEditor时),提示保存内容或回滚更改的选项。
对于回滚的情况-我只是把checkDirty() -检查实例是否有变化的函数-在while循环中,所以undo在每个true中执行,直到ckeditor将恢复到初始状态。
代码看起来像这样:
CKEDITOR.instances["editor"].on('blur', function (evt) {
if (confirm("Do you wish to roll back changes ?")) {
while (CKEDITOR.instances["editor"].checkDirty()) {
CKEDITOR.instances["editor"].execCommand('undo');
}
} else {
// do nothing!
}
})
相关文章:
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 如何临时暂停浏览器渲染,然后恢复整个页面
- NodeJS-readline暂停和恢复事件发射器(逐行读取)
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 我希望在不替换现有变量的情况下恢复localStorage中的变量
- 克隆和恢复”;工具化的“;元素
- 如何暂停和恢复jquery间隔
- 在python中,我如何才能恢复被隐藏的元素的内容
- javascript恢复样式
- 在意外断电时恢复JS计时器
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 在文本区域禁用javascript定义的keydown事件并恢复默认行为
- 将嵌套的主干模型存储并恢复到本地存储中
- 当客户端在JW Player中恢复丢失的连接时,会自动重新连接
- 从jquery对话框恢复原始数据,脚本不起作用
- JavaScript撤消onclick操作
- 使用本地存储在Javascript中撤消、重做
- 撤消/恢复从DOM中删除元素
- 撤消jQuery或恢复DOM
- CKEditor恢复元素/撤消所有更改