2016-05-31 5 views
3

Ich möchte nur für ausgewählte Bildelemente einen Kontextmenüeintrag hinzufügen. Der Kontextmenüeintrag funktioniert gerade, aber er wird auf jedem Element angezeigt und nicht nur auf Bildelementen. Hier ist mein Code so weit:CKEditor - Hinzufügen von Kontextmenüelementen zu Bildern

CKEDITOR.on('instanceReady', function(ev) { 
    editor.addCommand('editImgCmd', { 
     exec : function(editor) { 
      alert('editImgCmd'); 
     } 
    }); 
    var editImgCmd = { 
     label : editor.lang.image.menu, 
     command : 'editImgCmd', 
     group : 'image' 
    }; 
    editor.contextMenu.addListener(function(element, selection) { 
     return { 
      editImgCmd : CKEDITOR.TRISTATE_ON 
     }; 
    }); 
    editor.addMenuItems({ 
     editImgCmd : { 
      label : 'Edit Image', 
      command : 'editImgCmd', 
      group : 'image', 
      order : 2 
     } 
    }); 
}); 
+0

Hey Mike. Vielleicht kannst du mir bei meiner Frage helfen? Vielen Dank! http://stackoverflow.com/questions/42012440/ckeditor-get-element-after-click-on-context-menu – VGranin

Antwort

5

Verwenden getAscendant() das Element chcek ist ein img:

editor.contextMenu.addListener(function(element, selection) { 
    if (element.getAscendant('img', true)) { 
     return { 
+0

Danke. hat perfekt funktioniert. –