如何在 Angular 中捕获 tinyMCE 的全屏事件

How to catch fullscreen event of tinyMCE in Angular

我已经在使用 angular 的 5 月网站中添加了 tinyMCE。我无法捕获 tinyMCE 的全屏事件。我已经检查了这里的主题并尝试了很多方法,但仍然没有成功。

-在编辑器设置中使用下面的代码,我能够捕获 "change"、"redo"、"undo" 事件:

setting = {
  selector: 'textarea',
  ...
  setup: function(e) {
    e.on('undo', function () {
      some codes;
    });
  },
};

但是 'fullscreen' 在这里似乎不起作用,无论是工具栏上的按钮,还是菜单中的按钮。

-我也试图通过在 DOM:

中找到全屏 class 来获取它
if ( angular.element('.mce-fullscreen').length ) {
    console.log('fullscreen');
  }

有人有什么提示吗?非常感谢。

如果您查看 fullscreen 插件的源代码,您会看到这一行:

editor.fire('FullscreenStateChanged', {state: fullscreenState});

...所以当您进入全屏时,编辑器将发出 FullscreenStateChanged 事件。然后您可以像这样使用该事件:

setup: function (editor) {
   editor.on('FullscreenStateChanged', function () {
       console.log('FullscreenStateChanged event fired.');
   });
}