Javascript 如果编辑器进行了更改,则ckeditor不会自动保存

Javascript 如果编辑器进行了更改,则ckeditor不会自动保存,javascript,jquery,ckeditor,Javascript,Jquery,Ckeditor,下面是我的js代码,当我添加新值或输入空格等时,它可以正常工作。基本上,下面的代码在按下最后一个键保存textarea值5秒钟后调用函数。我面临的问题是,如果我使用编辑器来更改其内部的内容(如加粗文本、下划线等),而不按编辑器上的任何键,则函数不会进行任何调用。请让我知道如何修改以下代码,使其在5秒后的最后一次更改时触发 CKEDITOR.replace( 'editor1', { on: { instanceReady: function() { },

下面是我的js代码,当我添加新值或输入空格等时,它可以正常工作。基本上,下面的代码在按下最后一个键保存textarea值5秒钟后调用函数。我面临的问题是,如果我使用编辑器来更改其内部的内容(如加粗文本、下划线等),而不按编辑器上的任何键,则函数不会进行任何调用。请让我知道如何修改以下代码,使其在5秒后的最后一次更改时触发

CKEDITOR.replace( 'editor1', {
    on: {
        instanceReady: function() {
        },

        key: function() {
            onautosave(); // Function which makes call after 5 seconds to save values
        }
    }
    });

function onautosave(){
    if(autosave_timer)
        clearTimeout(autosave_timer);

    autosave_timer = setTimeout(save, 5000);

    }

尝试使用“更改时”事件,这可能对您更有效:

CKEDITOR.replace('editor1', {
    on: {
        instanceReady: function() { },
        change: function() {
            onautosave(); // Function which makes call after 5 seconds to save values
        }
    }
});

function onautosave() {
    if (autosave_timer) {
        clearTimeout(autosave_timer);
    }

    autosave_timer = setTimeout(save, 5000);
}

这似乎有效-您可以通过在('change',function(){console.log(“Content changed”)})上运行
CKEDITOR.instances['editor1']来测试它。使用编辑器按钮以粗体显示文本时会生成该事件。