如何从 Javascript 中删除 tinymce 编辑器按钮?

How to remove tinymce editor buttons from Javascript?

我正在使用 TinyMCE4.3.10(作为 Wordpress 4.5.4 的一部分)。我使用以下代码创建自定义 tinymce 编辑器:

tinyMCE.execCommand("mceAddEditor", false, captionId);

tinyMCE.execCommand('mceAddControl', false, captionId);

"captionId" 指向文本区域。编辑器工作正常,但我想删除几个按钮。我怎么做 ?我没有使用 tinyMCE.init()——主要是因为我不知道我是否应该使用它,而且编辑器仍然可以工作。

我可以禁用使用:

tinyMCE.get(captionId).controlManager.setDisabled('bold', true);

但我想删除它。

此外,tinyMCE.get(captionId).controlManager.get('bold') returns 未定义。

感谢任何帮助。

您使用 tinymce.init({}) 调用具有特定设置的编辑器。如果有问题的 <textarea> 的 ID 包含在变量 captionId 中,我会这样做:

tinymce.init({
  selector: "#" + captionId,  //needs to be a string of the CSS selector for the ID
  .
  . 
  .
});  

这将仅针对 <textarea> 进行初始化。如果您想限制工具栏上显示的选项,您可以使用 toolbar 配置选项来实现:

tinymce.init({
  selector: "#" + captionId,
  toolbar: [
    "table | insertfile undo redo | styleselect | bold italic",
    "removeformat | fontsizeselect | forecolor backcolor"a11ycheck
  ],
  . 
  .
});

https://www.tinymce.com/docs/configure/editor-appearance/#toolbar