ContentTools - 无法使用自定义“编辑”按钮重新激活

时间:2016-07-15 14:32:20

标签: javascript html

我正在使用ContentTools,当使用标准Ignition时,一切都按预期工作。但是,当我不使用蓝色按钮添加我自己的开始编辑/保存和放弃更改时,编辑器无法重新激活。这意味着用户可以编辑,然后保存一次。所有后续的重新激活尝试都会无声地失败。

初始化代码:

window.addEventListener('load', function() {
    editor = ContentTools.EditorApp.get();
    editor.init('.editable', 'id');
    ContentTools.IMAGE_UPLOADER = imageUploader;

    $('#btnStartEdit').click(function() {
        editor.start();
        $(this).hide();
        $('#btnSaveChanges').fadeIn();
        $('#btnDiscardChanges').fadeIn();
    });
    $('#btnSaveChanges').click(function() {
        editor.save();
        $('#btnStartEdit').fadeIn();
        $('#btnSaveChanges').fadeOut();
        $('#btnDiscardChanges').fadeOut();

    });
    $('#btnDiscardChanges').click(function() {
        editor.revert();
        $('#btnStartEdit').fadeIn();
        $('#btnSaveChanges').fadeOut();
        $('#btnDiscardChanges').fadeOut();
    });
    ContentTools.EditorApp.get()._ignition.unmount();
});

1 个答案:

答案 0 :(得分:1)

我建议您不要直接使用save()revert()方法,而是使用stop(true)进行保存,使用stop(false)进行取消/还原。

saverevert方法不会停止编辑器(例如save(true)可用于在用户继续编辑时自动保存内容)。使用stop应该允许您重新启动编辑器,例如:

window.addEventListener('load', function() {
    editor = ContentTools.EditorApp.get();
    editor.init('.editable', 'id');
    ContentTools.IMAGE_UPLOADER = imageUploader;

    $('#btnStartEdit').click(function() {
        editor.start();
        $(this).hide();
        $('#btnSaveChanges').fadeIn();
        $('#btnDiscardChanges').fadeIn();
    });
    $('#btnSaveChanges').click(function() {
        editor.stop(true);
        $('#btnStartEdit').fadeIn();
        $('#btnSaveChanges').fadeOut();
        $('#btnDiscardChanges').fadeOut();

    });
    $('#btnDiscardChanges').click(function() {
        editor.stop(false);
        $('#btnStartEdit').fadeIn();
        $('#btnSaveChanges').fadeOut();
        $('#btnDiscardChanges').fadeOut();
    });
    ContentTools.EditorApp.get()._ignition.unmount();
});