Tinymce从自定义菜单项调用内置插件

问题描述 投票:0回答:1

我正在将菜单按钮添加到tinymce编辑器。在此界面中,页面上一次加载了多个tinymce编辑器。我添加的所有菜单按钮都使用格式化程序或通过将自定义CSS类应用于所选元素来进行一些自定义样式。作为其中一项的一部分,我还需要从选择中“删除所有格式”,以及在选择周围添加一些文本。已经有一个内置的插件可以执行此操作,因此我想从插件中调用该函数。

我通过使用jQuery单击“删除所有格式”按钮来完成此工作,但是由于页面上有多个编辑器,因此这会使页面从用户所在的位置滚动,具体取决于jQuery实际单击了哪个按钮。

我宁愿不使用这种方法,因为我觉得这样会更干净,并且可以提供更好的结果来执行从插件中执行删除格式的代码,但是我不确定如何访问需要调用的函数。

{
  type: 'menuitem',
  text: 'Sample Answer',
  onAction: function() {
    $('button[title|="Clear formatting"]').click(); //I would like to call this function here instead of jQuery clicking a button.
    editor.formatter.apply('sample_answer');
  }
},
tinymce tinymce-plugins tinymce-5
1个回答
0
投票

因此,在进行更多挖掘之后,似乎可以使用editor.execCommand执行一定数量的tinymce命令。RemoteFormat是您可以使用的命令之一,因此它们使我轻松完成了我需要做的事情。

如果我愿意的话,很高兴知道是否有一种方法可以执行其他功能,但是execCommand函数肯定可以解决此问题。

 {
    type: 'menuitem',
    text: 'Sample Answer',
    onAction: function() {
        editor.execCommand('RemoveFormat');
        editor.formatter.apply('sample_answer');
    }
 },
© www.soinside.com 2019 - 2024. All rights reserved.