Javascript CKEDITOR在销毁前检查脏
我有一个创建和管理支持票证的web应用程序。因此,可以在浏览器中的单个页面上同时打开多个选项卡,每个选项卡中都有一个CKEDITOR实例。可以根据需要打开和关闭选项卡,当选项卡关闭时,该选项卡中的任何CKEDITOR实例都将被销毁 下面的代码允许在离开整个页面时检查任何CKEDITOR实例中的更改:Javascript CKEDITOR在销毁前检查脏,javascript,ckeditor,destroy,Javascript,Ckeditor,Destroy,我有一个创建和管理支持票证的web应用程序。因此,可以在浏览器中的单个页面上同时打开多个选项卡,每个选项卡中都有一个CKEDITOR实例。可以根据需要打开和关闭选项卡,当选项卡关闭时,该选项卡中的任何CKEDITOR实例都将被销毁 下面的代码允许在离开整个页面时检查任何CKEDITOR实例中的更改: function beforeUnload( evt ) { for ( var name in CKEDITOR.instances ) { if ( CKEDITOR.i
function beforeUnload( evt ) {
for ( var name in CKEDITOR.instances ) {
if ( CKEDITOR.instances[ name ].checkDirty() )
return evt.returnValue = "You will lose the changes made in the editor.";
}
}
if ( window.addEventListener ) {
window.addEventListener( "beforeunload", beforeUnload, false );
} else {
window.attachEvent( "onbeforeunload", beforeUnload );
}
这非常有效,但是,如果页面上包含CKEDITOR实例的选项卡被关闭,我想在销毁CKEDITOR实例之前执行checkDirty
我要寻找的是能够检测CKEDITOR实例上的“销毁”事件,然后使用checkDirty检查该实例。我找不到的是检测“破坏”事件的方法
非常感谢您的帮助。您可以使用CKEditor的:
for (var name in CKEDITOR.instances) {
CKEDITOR.instances[name].on('contentDomUnload', function() {
// Do here whatever you need
if (this.checkDirty()) {
// The instance is dirty
}
});
}
在销毁内容DOM结构之前触发事件。这些选项卡是如何管理的?需要明确的是,您指的是单个dom中的选项卡,而不是不同的浏览器选项卡和页面实例。正确吗?正确,它们是引导选项卡。所有这些都在一个DOM中,而不是在不同的浏览器选项卡中,也不是在不同的页面实例中。谢谢,这太完美了。