2016-05-19 3 views
1

Ich habe ein Widget, mit dem der Text eines Links editierbar ist. Benutzer können den Text des Links bearbeiten. Wenn Benutzer jedoch auf diesen Link klicken, wird der Standardverknüpfungsdialog geöffnet. Ich will das nicht und habe verstanden, dass ein editierbares es möglich macht, sein inneres HTML zu bearbeiten, nicht das Element selbst. Wie kann ich das verhindern?CKEditor Widget - Bearbeiten des editierbaren Elements selbst verhindern

Widget plugin.js:

template: 
    '<div class="container">' + 
    '<a href="javascript:void(0)" class="link">' + 
     'Label' + 
    '</a>' + 
    '</div>', 

allowedContent: 
    'a[*](*); div(*);', 

editables: { 
    Link: { 
    selector: '.link', 
    allowedContent: 'strong' 
    } 
} 

Startup:

CKEDITOR.dtd.$editable.a = 1; 
CKEDITOR.inline('myId', { 
    startupFocus: false 
}); 

CKEditor Version: 4.5.9, Modus: Inline, Browser: Chrome

Antwort

1

Ich denke, dass Ihr Widget funktioniert überhaupt nicht, denn wenn sich ein Link in einem Widget befindet, sollte er überhaupt nicht editierbar sein - auch nicht sein Attribute noch sein Inhalt.

Die Tatsache, dass eine dieser Optionen bearbeitet werden kann, bedeutet, dass Ihr Widget nicht als Widget erkannt wurde. Wahrscheinlich aufgrund von Problemen an einem anderen Ort in Ihrem Code.

+0

Widget funktioniert gut. Ich habe CKEDITOR.dtd hinzugefügt. $ Editable.a = 1; und das machte den Link editierbar – Bastiaan