Javascript TinyMce创建包含更多工具栏项目的工具栏下拉列表

Javascript TinyMce创建包含更多工具栏项目的工具栏下拉列表,javascript,tinymce-4,Javascript,Tinymce 4,这似乎应该很简单,但我很难弄明白。我有一个tinymce实例,出于各种原因,我希望将所有工具栏项目放在一条长线上。问题是,有太多的项目,它的所有适合,所以我想创建一个自定义按钮,并把工具栏项目在那里。比如: tinyMCE.init({ ... setup: function(editor) { editor.addButton('insertMenu', { type: 'listbox',

这似乎应该很简单,但我很难弄明白。我有一个tinymce实例,出于各种原因,我希望将所有工具栏项目放在一条长线上。问题是,有太多的项目,它的所有适合,所以我想创建一个自定义按钮,并把工具栏项目在那里。比如:

tinyMCE.init({
       ...
        setup: function(editor) {
          editor.addButton('insertMenu', {
              type: 'listbox',
              text: 'Insert',
              icon: false,
              items: 'code link'
          });
        },
        toolbar1: 'insertMenu undo redo | bold italic |alignjustify | ...


显然,这不起作用,因为列表框中的“代码链接”项不正确。。但我希望有可能在tinyMCE做这种事情。是的,我看过这样的例子,但它们总是包含文本链接等,而我只想重用现有的工具栏图标和功能。

你几乎做到了。如果您想在初始化器中内联定义按钮,您可以使用类似的方法,否则您最好将功能移入一个单独的插件中,并在初始化器中要求它


六羟甲基三聚氰胺六甲醚。。也许我不太清楚(或者我只是误解了)我想要的是一个下拉列表中有“undo-redo”图标(以及相关操作)的例子。因此,您的var项=['undo'、'redo']或类似项。我想要的是有一个工具栏,其中一些常规选项(撤消、重做、粗体、斜体等)包含在列表框下拉列表中。
editor.addButton('insertMenu', function() {
        var items = [{text: 'Option 1', value: 'option1Value'}, {text: 'Option 2', value: 'option2Value'}];

        return {
            type: 'listbox',
            text: 'select box title',
            tooltip: 'a tooltip',
            values: items,
            fixedWidth: true,
            onclick: function(e) {
                console.log('Value selected: ' + e.control.settings.value)
            }
        };
    });