ckeditor disable元素,阻止用户向其添加内容

时间:2014-09-09 13:52:32

标签: ckeditor element

我添加了一个插件,允许用户通过对话框添加特殊样式的div。现在的问题是,这个元素不应该在edtior中可点击。问题是用户管理它以在div中单击并在那里输入文本并通过这个搞定。

我已经花了一些时间搜索文档但是找不到正确的方法来做到这一点。我要求代码,只是一些建议如何做,指向正确的API方法的指针对我来说已经足够了。我想我可以以某种方式访问​​元素或拦截用户点击并阻止他们以某种方式向我的元素添加内容,我只是无法弄清楚如何去做。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我终于设法通过使元素内容不可编辑来完成这项工作。当我在对话框中创建元素时:

hrElement.setAttribute('contenteditable', false);

加载插件时:

init: function (editor) {
    editor.on('contentDom', function () {
        var stiching = (this.document.getElementsByTag('div'));
        console.log(stiching);
        for(var i=0;i<stiching.count();i++){
            if (stiching.getItem(i).hasClass('stitching')) {
                stiching.getItem(i).setAttribute('contenteditable', false);
            }
        }
    });
}

我很确定这不是最好的解决方案(不喜欢迭代元素),但至少它现在适用于我。欢迎任何有关如何改进未来案例的建议。