TinyMCE 以编程方式隐藏工具栏溢出

TinyMCE hide toolbar overflow programmatically

我在使用 TinyMCE 编辑器的 v5 时遇到了一个问题,当屏幕宽度窄到足以让工具栏溢出时,当编辑器模式设置为只读时,溢出桶将持续存在。这可能会导致按钮无法隐藏的问题,因为溢出切换按钮被禁用,并且由于溢出容器的 z-index 很高,如果用户导航到页面上的其他位置,它最终可能会与其他元素重叠.

我设置了以下 fiddle 来演示该问题。只需确保您的屏幕宽度足够窄,以便工具栏溢出,然后单击省略号按钮以显示溢出按钮。接下来,使用“Toggle Read Only”切换只读,看看溢出按钮如何持续存在以及在只读模式下无法再次隐藏。

https://fiddle.tiny.cloud/Q6haab/1

我正在寻找的是一个函数,我可以调用它以编程方式隐藏溢出容器,这样我就可以在切换编辑器模式之前调用它。

提前致谢。

我已经更新了你的fiddle:https://fiddle.tiny.cloud/Q6haab/2

您可以使用 ToggleToolbarDrawer 上的 queryCommandState 查看抽屉是否打开,如果打开,您可以使用适当的 ExecCommand 将其关闭:

if(tinymce.activeEditor.queryCommandState('ToggleToolbarDrawer')) {
  tinymce.activeEditor.execCommand('ToggleToolbarDrawer');
}