我有一个自定义插件可以做一些事情,并且在它处理结束时,如果当前选择了某些文本,它应该使用选定的文本(实际上是选定的 HTML)在 HTML 中创建一个链接。必须保留选定的 HTML 格式(即不能丢失 HTML 标记和属性),并且必须围绕所有元素创建链接。在 FCKEditor(CKEDITOR 的旧版本)中,可以执行以下操作:
FCK.CreateLink("mylink");
我有一个自定义插件可以做一些事情,并且在它处理结束时,如果当前选择了某些文本,它应该使用选定的文本(实际上是选定的 HTML)在 HTML 中创建一个链接。必须保留选定的 HTML 格式(即不能丢失 HTML 标记和属性),并且必须围绕所有元素创建链接。在 FCKEditor(CKEDITOR 的旧版本)中,可以执行以下操作:
FCK.CreateLink("mylink");
使用 CKEDITOR 你可以这样做:
var selectedText = CKEDITOR.instances.editor1.getSelection().getSelectedText();
CKEDITOR.instances.editor1.insertHtml( '<a href="mylink">'+selectedText+'</a>' );
解决我的问题的方法是:
var attributes = Array();
attributes["href"] = link;
var style = new CKEDITOR.style( { element : 'a', attributes : attributes } );
style.type = CKEDITOR.STYLE_INLINE;
style.apply(editor.document);
它在保持所有格式的选定元素中创建了链接。