jqueryckeditor

instance of CKeditor already exists


I have found a few similar posts on this on Stack overflow but there are none with an answer that is working.

I have a few tabs on a page, depending on that li they click on they will see a specific tab. In one of the tabs there is a CKeditor which is initiated on the click of the li. When they user clicks off that specific tab onto another one, and then returns there is this error:

Uncaught The editor instance "employDesc" is already attached to the provided element.

Here is the JS:

    $('.addVacancy').click( function() {
        if(CKEDITOR.instances.employDesc)  {
            alert('instance exists');
            var editor = CKEDITOR.instances[employDesc];
            if (editor) { 
                editor.destroy(true); 
            } 
            alert('distroyed');
        }   
        CKEDITOR.replace('employDesc');
    });

Both of the alerts appear but then it breaks as the error comes on in the console. Can anyone help with this?

Thanks


Solution

  • You're trying to use a variable named employDesc, you should use CKEDITOR.instances["employDesc"]; or just

    $('.addVacancy').click( function() {
        var editor = CKEDITOR.instances.employDesc;
        if (editor) {
            alert('instance exists');
            editor.destroy(true); 
            alert('destroyed');
        }   
        CKEDITOR.replace('employDesc');
    });
    

    It's the same that you were trying to do.