Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CkEditor 3中删除标记名时,如何获取标记名_Ckeditor - Fatal编程技术网

在CkEditor 3中删除标记名时,如何获取标记名

在CkEditor 3中删除标记名时,如何获取标记名,ckeditor,Ckeditor,我在CKEDITOR 3中有这样的DOM 当我选择img并删除它时,我如何检查它是否是img标签 对不起,我的英语不好 应该是这样的(),但它仍然缺乏对undo manager等的支持,因此它不完整: CKEDITOR.addCss( '.foo { outline: 1px solid red }' ); CKEDITOR.replace( 'editor', { allowedContent: true, toolbarGroups: [ { name:

我在CKEDITOR 3中有这样的DOM


当我选择img并删除它时,我如何检查它是否是img标签


对不起,我的英语不好

应该是这样的(),但它仍然缺乏对undo manager等的支持,因此它不完整:

CKEDITOR.addCss( '.foo { outline: 1px solid red }' );

CKEDITOR.replace( 'editor', {
    allowedContent: true,
    toolbarGroups: [
        { name: 'mode' },
        { name: 'basicstyles' }
    ],
    on: {
        contentDom: function() {     
            var editor = this;

           this.editable().attachListener( editor, 'key', function( evt ) {
               // If not backspace or delete.
               if ( !( evt.data.keyCode in { 8: 1, 46: 1 } ) )
                   return;

               // Get selected element.
               var lastElement = editor.elementPath().lastElement,
                   parent = lastElement.getParent();

               // It that's img, and parent is in DOM, append class.
               if ( lastElement.is( 'img' ) && parent.getParent() )
                   parent.addClass( 'foo' );                                 
           } );
        }
    }
} );

而另一种方法可以为其他人做到这一点

`CKEDITOR.on('instancerady',函数(编辑器){ var edi=editor.editor; edi.on('键',功能(事件){ if(event.data.keyCode==8 | | event.data.keyCode==46){ var select_element=event.editor.getSelection().getSelectedElement(); 如果(选择_元素){ //选择元素是您删除的元素 } }

});
}));
`

请说明如何删除它。如果通过单击并按delete手动删除它,为什么需要标记名?这个问题看起来有点像XY问题()我只是选择了它,然后按delete或backspace键。我需要知道标记名称以更改父节点类。感谢您的回答。请查看此:-然而,我认为最好的方法是创建一个小部件插件以满足您的需要。这很难说,取决于您的要求,但我发现这有点太难了,而且没有必要Relay是另一种比编辑类定义更简单的方法。例如,后期处理如何?我不明白为什么您需要更改该类。我的网站有div.embed-container的CSS(高度)。如果我只是删除img,网站呈现时内容将变为这样,它的空间将为空:(Oleq的答案似乎是正确的,但我仍然会尝试找到一种解决方法,例如在保存或更改CSS结构之前使用jQuery对数据进行后处理,而不是附加到CKEditor系统。