Javascript 没有这种方法”;“销毁”;为编辑

Javascript 没有这种方法”;“销毁”;为编辑,javascript,extjs,Javascript,Extjs,我不确定单词“method”是否属于Redactor中的函数或类。但是我正试图通过$('#id')销毁编校器。编校器('destroy')。代码在创建/实例化redactor时起作用,但在我销毁redactor之后(因为它已经被销毁),没有为redactor提供这样的方法“销毁”(destroy)。在某种程度上,我想在销毁之前检查该方法是否存在;与javascript中检查函数是否存在的方法类似,比如typeof$(#id).redactor=='function',我也尝试使用$(#id).h

我不确定单词“method”是否属于Redactor中的函数或类。但是我正试图通过
$('#id')销毁编校器。编校器('destroy')
。代码在创建/实例化redactor时起作用,但在我销毁redactor之后(因为它已经被销毁),没有为redactor提供这样的方法“销毁”(destroy)。在某种程度上,我想在销毁之前检查该方法是否存在;与javascript中检查函数是否存在的方法类似,比如
typeof$(#id).redactor=='function'
,我也尝试使用
$(#id).hasClass($(#id).redactor('destroy'))
,这仍然会导致错误

因此,我不确定如何检查该方法是否存在,因此我只会在创建/实例化编校器时销毁它

为了贾达夫先生:

这是我的指令

Ext.define('myNamespace', {
    extend: 'Ext.container.Container',
    alias : 'widget.instructionstab',

    requires:[
        'myCommonFunctions',
    ],
    margin: '5 5 5 5',
    layout: {
        type: 'vbox',
        align: 'stretch'
    },
    initComponent: function() {
        var me = this,
            cfg = cfg || {};

        Ext.applyIf(me, {
            items: [
                {
                    xtype: 'textareafield',
                    flex: 1,
                    itemId: 'txtHeaderComment',
                    fieldLabel: 'Header Comment',
                    enableDrillDown: true,
                },
                {
                    xtype: 'textareafield',
                    flex: 1,
                    itemId: 'txtFooterComment',
                    fieldLabel: 'Footer Comment',
                    enableDrillDown: true
                }
            ]
        }, cfg);

        me.callParent(arguments);
    }

});
功能:

createRadEditor: function(el) {
        var me = this;

        var fn = function () {
            $('#' + el.inputId).redactor({
                buttons: ['bold', 'italic', 'underline', 'deleted', 'alignleft', 'aligncenter', 'alignright', 'unorderedlist', 'orderedlist', 'outdent', 'indent', 'image', 'video', 'table', 'link', 'horizontalrule', 'html', 'fullscreenwindow'],
                plugins: ['fontcolor', 'fontfamily', 'fullscreenwindow'],
                clipboardUpload: true,
                clipboardUploadUrl: './somelink/setimage',
                blurCallback: function(e){
                    console.log("ASDF"); // i'm still trying out something
                }
            });

            $('#'+ el.inputId).redactor('setTextEditorHeight');
            $('#'+ el.inputId).attr("id",el.config.itemId);
        };
        var task = Ext.create('Ext.util.DelayedTask', fn);
        task.delay(500);
    },
myView:

{
    xtype: 'panel',
    itemId: 'pnlInstructions',
    layout: 'fit',
    title: 'Instructions',
    items: [
        {
            xtype: 'instructionstab'
        }
    ]
},

我在这里使用了一些文档来说明redactor的属性。

如果您想销毁redactor,那么您应该使用:

$("#editor").redactor("core.destroy");

ExtJS
code在哪里?我的项目是在ExtJS中创建的。。我只是没有放置ExtJS的代码,但是我放置了标记,因为我可能不知道ExtJS中可以用来替换jquery的东西,但重要的部分只是jquery部分。。。但是如果你真的需要,我可以提供…如果你使用ExtJS,那么试着使用ExtJS方法来获取组件,而不是jquery。我编辑了信息。请贾达夫先生。。请告诉我使用extjs方法获取组件的区别,以及它如何帮助我解决禁用redactorMr JC的问题。请尝试此
$('#id')。destroyEditor()
这将起作用。参考,请也检查一下