如何更改CKEditor元素

时间:2015-04-03 16:39:03

标签: ckeditor onchange addeventlistener

当自定义div内部发生更改时,是否有任何事件被触发?我不想听编辑器('更改'),但只是为了检测哪个dom元素发生了变化,(删除或插入的字符)。例如:

 var template = new CKEDITOR.template(
        '<div class="layout-container">\
                    <div class="layout-column-content" >\
                        <p>content</p>\
                    </div>\
                </div>\
            </div>\
        </div>'
);

var layoutElement = CKEDITOR.dom.element.createFromHtml(template);
editor.insertElement(layoutElement);

在其中添加自定义layout.User类型,我想看看他在没有遍历整个dom的情况下输入的内容。我试图将侦听器添加到div中,但似乎CKEditor会清除它们。任何聪明的解决方案?

编辑: 此插件http://ckeditor.com/addon/elementspath可能是解决方法: 我用这个片段解决了我的问题:

   editor.on('elementsPathUpdate', function(event) {
        elementsList = editor._.elementsPath.list;
    });

结合变化事件。

1 个答案:

答案 0 :(得分:0)

我知道的唯一解决方案就是这个插件:http://alfonsoml.blogspot.de/2011/03/onchange-event-for-ckeditor.html