【问题标题】:Moving from jquery-te-1.4.0 to CKeditor从 jquery-te-1.4.0 迁移到 CKeditor
【发布时间】:2014-10-21 12:10:17
【问题描述】:

我正在尝试从 jquery-te-1.4.0 转移到 CKeditor(内联)和 JS 新手

jquery-te 的原始代码是:

        var stopBlur = false;
        a.html("<textarea "+title+"name=\"textarea\" id=\""+ a.attr('id') +"_field\">" + a.html() + "</textarea>");
        editor = a.find('textarea');
        editor.jqte({focus: function(){stopBlur=true;setTimeout(function(){stopBlur=false;},200);},blur: function(){setTimeout(function(){if(stopBlur)return;fieldSave(a.attr('id'),a.find('div.jqte_editor').html());},50)}});
        $('div.jqte_tool').click(function(){
            stopBlur = true;
            setTimeout(function(){stopBlur = false;},200);
            a.find('div.jqte_editor').focus();
        });
        a.find('div.jqte_editor').focus();

我当前的(非功能性)代码是:

var stopBlur = false;
    a.html("<div "+title+"name=\"div\" id=\""+ a.attr('id') +"_field\" class=\"editable\" contenteditable=\"true\">" + a.html() + "</div>");
    editor = a.find('div');
    editor.ckeditor({focus: function(){stopBlur=true;setTimeout(function(){stopBlur=false;},200);},blur: function(){setTimeout(function(){if(stopBlur)return;fieldSave(a.attr('id'),a.find(div.ckeditor).html());},50)}});

    $('div.ckeditor').click(function(){
        stopBlur = true;
        setTimeout(function(){stopBlur = false;},200);
        a.find('div.ckeditor').focus();
    });
    a.find('div.ckeditor').focus();

正如我所说:我的 JS 技能很差,我不知道如何让 CK 在 stopBlur 等时保存' 非常感谢您的帮助...

【问题讨论】:

    标签: javascript ckeditor wysiwyg


    【解决方案1】:

    我进步了一点:

            var stopBlur = false;
            a.html("<textarea "+title+"name=\"textarea\" id=\""+ a.attr('id') +"_field\" class=\"editable\" contenteditable=\"true\">" + a.html() + "</textarea>");
    editor = a.find('textarea');
    editor.ckeditor({focus: function(){stopBlur=true;setTimeout(function(){stopBlur=false;},200);},blur: function(){setTimeout(function(){if(stopBlur)return;fieldSave(a.attr('id'),a.find(div.ckeditor).html());},50)}});
    
            $('div.ckeditor_tool').click(function(){
                stopBlur = true;
                setTimeout(function(){stopBlur = false;},200);
                a.find('div.ckeditor').focus();
            });
            a.find('div.ckeditor').focus();
    
        CKEDITOR.disableAutoInline = false;
        var editor = CKEDITOR.inline( a.attr('id') );
    

    但是 - 编辑器会在单击正确区域时出现,但在失去焦点或保存数据时不会消失...

    【讨论】: