2016-05-19 44 views
1

我有一个小部件,其中链接的文本是可编辑的。用户可以编辑链接的文本,但是当用户单击该链接时,标准链接对话框将打开。我不想这样做,并且理解可编辑使得编辑innerHtml成为可能,而不是元素本身。我怎样才能防止这种情况发生?CKEditor Widget - 禁止编辑可编辑元素本身

的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' 
    } 
} 

启动:

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

CKEditor的版本:4.5.9,模式:内联,浏览器:Chrome的

回答

1

我认为,你的小部件完全不起作用,因为如果一个链接在一个小部件内部,它根本不应该被编辑 - 它们都不是属性或其内容。

其中任何一个都是可编辑的,这意味着您的小部件不会作为小部件发现。很可能是由于代码中其他位置的问题。

+0

Widget工作得很好。我添加了CKEDITOR.dtd。$ editable.a = 1;并使链接可编辑 – Bastiaan