当使用ckeditor链接、图像和表属性对话框时,如果用户单击cancel,CKEDITOR将检查是否有任何更改,如果发生更改,CKEDITOR将通过js确认弹出窗口提示用户。
如何在取消时禁用此提示;取消时我们的webapp中没有其他对话框提示,这是不一致的。
似乎没有一种方法可以获得一个事件的所有处理程序的列表,以删除正在执行提示的那个处理程序。
我不想为每个对话框项目指定一个自定义的isChanged来修改一个假的nothings。
有没有一种标准的方法来覆盖(‘cancel’,...)CKEDITOR中的事件处理器?我看到我可以手动匹配dialogdefinition.OnLoad、OnOK、OnCancel处理程序,但是我所指的这个强制取消提示并没有在对话框的OnCancel中完成。
我使用的是最新版本4.2
发布于 2013-11-19 00:10:28
这现在是4.3版中支持的配置选项。只要在创建对话框时指定config.dialog_noConfirmCancel = true即可。
查看http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel
发布于 2013-10-16 22:35:39
你离我很近。事实上它就是onCancel事件。有针对此问题的标签,其中还包括解决方法:
CKEDITOR.on('dialogDefinition', function(dialogDefinitionEvent) {
if (dialogDefinitionEvent.data.name == 'link') {
var dialogDefinition = dialogDefinitionEvent.data.definition;
// Get rid of annoying confirmation dialog on cancel
dialogDefinition.dialog.on('cancel', function(cancelEvent) {
return false;
}, this, null, -1);
}
});如果省略if (dialogDefinitioNEvent.data.name == 'link')语句,将禁用对所有对话框的检查。
-1处理程序参数是这里的关键,因为它将处理程序插入到对话框插件的缺省处理程序之前,该缺省处理程序永远不会被调用,因为return false取消了对其他注册的事件侦听器的取消事件的冒泡。
CKEditor Ticket #8331: Ability to ignore "Confirm Cancel"-warning on dialogs
发布于 2014-06-26 00:09:58
我可以确认最新版本的ckEditor可以使用"noConfirmCancel“属性。
我的工作代码片段如下:
<script type="text/javascript" src="#ckBasePath#/ckeditor.js" language="JavaScript"></script>
<script>
thisConfig = CKEDITOR.config;
thisConfig.autoParagraph = true;
thisConfig.fillEmptyBlocks= true;
thisConfig.dialog_noConfirmCancel = true;
objSample = CKEDITOR.replace( 'Sample' , thisConfig);
</script>http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel
https://stackoverflow.com/questions/18522739
复制相似问题