【问题标题】:Redactor destroy编辑器销毁
【发布时间】:2013-07-03 11:31:49
【问题描述】:

编辑者所见即所得来自: https://github.com/dybskiy/redactor-js

JQuery 版本: jquery-1.10.1.min.js(也尝试过捆绑在演示中的 1.9.0)

真的很简单,编辑图标出现在内容的右上角,点击改变内容到所见即所得的编辑器,也改变图标为X表示取消

Onclick X,销毁编辑器,所见即所得编辑器回到原文

按照此页面的要求: http://imperavi.com/redactor/examples/click-to-edit/ 不同的是,我不想要2个函数,我把它组合成1个函数,取决于editContainer有哪个类,取决于执行哪个if-else

问题: .redactor('destroy');不工作

<style>
    #editContainer {
        position: absolute;
        right: 5px;
        top: 5px;
        width: 16px;
        height: 16px;
    }
    #editContainer.edit {
        background: url("../img/icon-edit-16.png") no-repeat 0 0;
        z-index: 999;
        cursor: pointer;
    }
    #editContainer.cancel {
        background: url("../img/icon-error.png") no-repeat 0 0;
        z-index: 999;
        cursor: pointer;
    }
</style>
<div id='headerRightContent'>
    xxx
</div>

<div id='editContainer' class='edit' onclick=cmsEdit();></div>
<script type='text/javascript'>
    function cmsEdit() {
        if ( $('#editContainer').hasClass('edit') ) {
            $('#headerRightContent').redactor({ focus: true });
            $('#editContainer').removeClass('edit').addClass('cancel');
        }else if ( $('#editContainer').hasClass('cancel') ) {
            var html = $('#headerRightContent').redactor('get');
            $('#headerRightContent').redactor('destroy');
            $('#editContainer').removeClass('cancel').addClass('edit');
        }
    }
</script>

【问题讨论】:

  • 你试过jQuery('#headerRightContent').redactor('destroy'); 吗?
  • 我最终选择了 ckeditor,因为我急于把它弄出来。很抱歉无法尝试您的解决方案
  • 好的,你可以验证我的回答。
  • 对于其他仍然坚持这一点的人 - 我调用成功销毁编辑器的命令是 $(.redactor).destroyEditor();

标签: jquery redactor


【解决方案1】:

对于使用 Redactor II 遇到此问题的任何人,该命令已略有更改。

$('#headerRightContent').redactor('core.destroy');

【讨论】:

  • 对我来说它说核心没有定义
【解决方案2】:

如果你购买了 RedactorJS 的许可证,destroy 方法适用于最新版本 9.1.1

或者用这个更新你的代码:

destroy: function()
{
    clearInterval(this.autosaveInterval);

    $(window).off('.redactor');
    this.$element.off('.redactor').removeData('redactor');

    var html = this.get();

    if (this.opts.textareamode)
    {
        this.$box.after(this.$source);
        this.$box.remove();
        this.$source.val(html).show();
    }
    else
    {
        var $elem = this.$editor;
        if (this.opts.iframe) $elem = this.$element;

        this.$box.after($elem);
        this.$box.remove();

        $elem.removeClass('redactor_editor').removeClass('redactor_editor_wym').removeAttr('contenteditable').html(html).show();
    }

    if (this.opts.air)
    {
        $('.redactor_air').remove();
    }
},

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多