ckeditor启动和销毁

ckEditor.js
//编辑器工作模式判断  
function isWysiwygareaAvailable() {  
    if (CKEDITOR.revision == ('%RE' + 'V%')) {  
        return true;  
    }  
    return !!CKEDITOR.plugins.get('wysiwygarea');  
}  
//启动ckeditor编辑页面区块  
function htmlCkeditor(id) {  
    var obj = $('#' + id);  
    var editor;  
    if (CKEDITOR.env.ie && CKEDITOR.env.version < 9)  
        CKEDITOR.tools.enableHtml5Elements(document);  
  
    CKEDITOR.config.height = obj.height();  
    CKEDITOR.config.width = obj.width();  
  
    var wysiwygareaAvailable = isWysiwygareaAvailable();  
  
    var editorElement = CKEDITOR.document.getById(id);  
  
    if (wysiwygareaAvailable) {  
        editor = CKEDITOR.replace(id);  
    } else {  
        editorElement.setAttribute('contenteditable', 'true');  
        editor = CKEDITOR.inline(id);  
    }  
    var cssFiles = document.getElementsByTagName('link');  
    var css = [];  
    for (var i = 0; i < cssFiles.length; i++) {  
        var file = cssFiles[i];  
        css.push(file.href);  
    }  
    editor.config.contentsCss = css;  
    return editor;  
}  
//启动编辑模式  
var selectEditElement, oldCss, oldZindex;  
function startEditModel() {      
    $(document).unbind("click");  
    $(document).bind("click", function (e) {  
        var curr = e.originalEvent.srcElement;  
        if (selectEditElement != curr && curr.id != 'btnEditorModel') {  
            $(selectEditElement).css('border', oldCss).css('z-index', oldZindex);  
            oldCss = $(curr).css('border');  
            oldZindex = $(curr).css('z-index');  
            $(curr).css('border', '1px dotted red').css('z-index', '9995').on('dblclick', function () {  
                this.id = this.id || 'ck_' + (new Date().getTime());  
                htmlCkeditor(this.id);  
            });  
            selectEditElement = curr;  
            e.stopPropagation();  
        }  
    });  
}  
//终止编辑模式  
function endEditModel() {  
    //解除页面文档的点击事件绑定  
    $(document).unbind("click");  
    //还原选中的页面区块样式  
    $(selectEditElement).css('border', oldCss).css('z-index', oldZindex);  
    for (var editor in CKEDITOR.instances) {  
        //还原编辑器覆盖的区块  
        $('#' + editor).css({ visibility: '' }).show();  
        //还原编辑器覆盖的区块  
        $('#' + editor).unbind("dblclick");;  
        //销毁编辑器实例  
        CKEDITOR.remove(CKEDITOR.instances[editor]);  
        //移除编辑器Jquery对象  
        $('#cke_' + editor).remove();  
    }  
}  

//处页面表单提交值
for (instance in CKEDITOR.instances){

            CKEDITOR.instances[instance].updateElement();
}
}

猜你喜欢

转载自webook-java.iteye.com/blog/2392467