两个CKEditor实例的相同形式的奇怪行为

时间:2013-07-03 14:01:20

标签: javascript jquery ckeditor

我有一个复杂的html页面,我想使用两个文本区域,每个区域都有自己的CKEditor实例。我正在使用CKEditor版本3.4.1。

我的行为很奇怪。大约四分钟,在任一文本区域中输入的文本或多或少地随机插入任一文本区域。然后它突然开始工作。

我尝试了不同的初始化编辑器的方法,但我想这样做:

<textarea rows="20" cols="40" id="text" name="text"><%= "\n" + StringEscapeUtils.escapeHtml(text) %></textarea>
<textarea rows="20" cols="40" id="gr" name="text"><%= "\n" + StringEscapeUtils.escapeHtml(text) %></textarea>
<script type="text/javascript">
jQuery(document).ready(function() {
    initCkEditor('text', <%= fckEditorHeight %>, 'imCMS_ALL', null) ;
    initCkEditor('gr', <%= fckEditorHeight %>, 'imCMS_ALL', null) ;
    $('#deleteAttachmentBtn').live('click', function(){
        $('#deleteAttachmentForm').submit() ;
        }) ;
    }) ;                
</script>

然后页面中调用的函数是:

function initCkEditor(id, height, toolBarSet, contentsCss) {
var oConfig = (height > 0) ?
    {
        customConfig       : '/grgy/imcms/ckeditor/imcms/imcms_config.js?1372859511102',
        contentsCss        : (null != contentsCss ? contentsCss : '/grgy/imcms/ckeditor/imcms/imcms_editor.css.jsp'),
        height             : height,
        toolbar            : toolBarSet,
        sharedSpaces       : { top : 'fckToolbar' }
    } : {
        customConfig       : '/grgy/imcms/ckeditor/imcms/imcms_config.js?1372859511102',
        contentsCss        : (null != contentsCss ? contentsCss : '/grgy/imcms/ckeditor/imcms/imcms_editor.css.jsp'),
        height             : 400,
        autoGrow_minHeight : 400,
        autoGrow_maxHeight : 0,
        toolbar            : toolBarSet,
        sharedSpaces       : { top : 'fckToolbar' }
    } ;
CKEDITOR.replace(id, oConfig) ;
CKEDITOR.on('instanceReady', function(event) {

    var tags = ['p', 'li', 'table', 'tbody', 'tr'] ;
    for (var key in tags) {
        event.editor.dataProcessor.writer.setRules(tags[key], {
                indent           : false,
                breakBeforeOpen  : true,
                breakAfterOpen   : false,
                breakBeforeClose : false,
                breakAfterClose  : true
        }) ;
    }
    tags = ['td'] ;
    for (key in tags) {
        event.editor.dataProcessor.writer.setRules(tags[key], {
                indent           : true,
                breakBeforeOpen  : true,
                breakAfterOpen   : false,
                breakBeforeClose : false,
                breakAfterClose  : true
        }) ;
    }

    event.editor.dataProcessor.htmlFilter.addRules({
        elements : {
            p : function( element ) {
                if (element.attributes.hasbox) delete element.attributes.hasbox ;
            }
        }
    }) ;
}) ;

有关为何会发生这种情况的任何想法?我很难解决这个问题。

问候,乔纳斯

ps,我没有写过这个,我只是那个必须让它发挥作用的人,ds

0 个答案:

没有答案