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

ckeditor disable元素,阻止用户向其添加内容,ckeditor,element,Ckeditor,Element,我添加了一个插件,允许用户通过对话框添加一个特殊样式的div。现在的问题是,此元素不应在edtior中单击。问题是用户管理它在div中单击并在那里输入文本,这样就搞糟了 我已经花了一些时间搜索文档,但还没有找到正确的方法。我不是在问代码,只是一些如何做的建议,一个指向正确API方法的指针对我来说就足够了。我想我可以通过某种方式访问元素或拦截用户的单击,并阻止他们向我的元素添加内容。我只是还不知道如何操作。使用 我最终通过使元素内容不可编辑来实现这一点。在对话框中创建元素时: hrEleme

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

我已经花了一些时间搜索文档,但还没有找到正确的方法。我不是在问代码,只是一些如何做的建议,一个指向正确API方法的指针对我来说就足够了。我想我可以通过某种方式访问元素或拦截用户的单击,并阻止他们向我的元素添加内容。我只是还不知道如何操作。

使用


我最终通过使元素内容不可编辑来实现这一点。在对话框中创建元素时:

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);
            }
        }
    });
}
init:function(编辑器){
on('contentDom',function(){
var stiching=(this.document.getElementsByTag('div');
控制台日志(粘贴);

对于(var i=0;我感谢您,但我并不真正需要一个完整的小部件。这里所需要的只是插入一个底部有虚线边框的元素。小部件是不可编辑内容的包装器,可以解决许多问题。但是如果您的情况如此简单,那么您可以从纯
contentediate=false
开始,然后查看。切换到小部件将非常简单(实际上,它将比您当前拥有的代码更少)。