0

我正在向 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');
  }
},
4

1 回答 1

0

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

如果我想知道是否有办法执行其他功能仍然很高兴,但 execCommand 功能肯定解决了这个问题。

 {
    type: 'menuitem',
    text: 'Sample Answer',
    onAction: function() {
        editor.execCommand('RemoveFormat');
        editor.formatter.apply('sample_answer');
    }
 },
于 2019-10-14T15:56:56.873 回答