是否可以在tinymce init之后更改tinyMCE自定义工具栏ListBox值

时间:2017-07-28 02:21:42

标签: tinymce tinymce-4

以下示例是向tinyMCE添加自定义下拉列表,是否可以在init tinyMCE之后再次更改?例如,在初始化tinyMCE之后,通过不同列表的另一个按钮再次更新列表。     https://codepen.io/tinymce/pen/JYwJVr

tinymce.init({
  selector: 'textarea',
  height: 500,
  toolbar: 'mybutton',
  menubar: false,
    content_css: [
    '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
    '//www.tinymce.com/css/codepen.min.css'],

  setup: function (editor) {
    editor.addButton('mybutton', {
      type: 'listbox',
      text: 'My listbox',
      icon: false,
      onselect: function (e) {
        editor.insertContent(this.value());
      },
      values: [
        { text: 'Menu item 1', value: '&nbsp;<strong>Some bold text!</strong>' },
        { text: 'Menu item 2', value: '&nbsp;<em>Some italic text!</em>' },
        { text: 'Menu item 3', value: '&nbsp;Some plain text ...' }
      ],
      onPostRender: function () {
        // Select the second item by default
        this.value('&nbsp;<em>Some italic text!</em>');
      }
    });
  }
});

1 个答案:

答案 0 :(得分:0)

我没有找到任何我只能为自定义下拉列表更新的选项。这不是什么好方法,而是我能让它发挥作用的唯一方法。所以我所做的就是删除tinymce并重新添加它。

tinymce.remove();
tinymce.init({
 selector: 'textarea',
     setup: function (editor) {
               var self = this;
                editor.addButton('mybutton', {
                  type: 'listbox',
                  text: 'myList',
                  icon: false,

                  onselect: function (e) {    

                    editor.insertContent(this.value());
                  },
                  values: newList,
                  onPostRender: function () {
                    // Select the second item by default
                    this.value('&nbsp;<em>Some italic text!</em>');
                  }
                });
            }
});