2016-08-01 49 views
0

我想要有可以有<button><a></a></button>的小工具。不幸的是,CKE删除了<a></a>。如何克服这一点?CKEditor不允许在小工具中嵌套<a>元素

这是代码:

CKEDITOR.plugins.add('interButton', { 
    requires: 'widget', 
    icons: 'interButton', 
    init: function(editor) { 

     editor.widgets.add('interButton', { 
      button: 'Add Button', 

      template: 
       '<button><a></a></button>', 

      allowedContent: 
       'button[*]{*}(*); a[*]{*}(*)', 

      upcast: function(element) { 
       return element.name == 'button'; 
      } 
     }); 

    } 
}); 
+1

你真的想克服有效的HTML吗?参考:https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element – Wolfgang

+0

你能更具体吗? – zie1ony

+1

将一个锚标签放在按钮中对HTML无效 – Wolfgang

回答

1

你可以把某些元素的protectedSource和CKE将服从。

例如:

config.protectedSource.push(/<button[^>]*><a[^>]*><\/a><\/button>/g); 

我没有测试以上,但它应该工作。