TinyMCE 获取选择的字体大小

TinyMCE get font size of selection

我目前正在为 TinyMCE 构建自己的自定义工具栏,通过 JS API 获取和设置格式。 例如,我可以像这样将所选文本设置为粗体:

this._editor.formatter.toggle('bold');`

之后,我可以获取格式并在选择更改时相应地设置我的粗体按钮的状态:

this.isBold = this._editor.formatter.match('bold');

为了支持字体​​大小,我有一个下拉菜单,它在更改时应用正确的字体大小:

this._editor.formatter.apply('fontsize', {value: this.fontSize});

但现在我需要能够在选择更改时读取字体大小,但我不知道如何实现。 如何读取当前选择的字体大小?

作为解决方法,我尝试将所选节点的格式与支持的字体大小列表相匹配。

const supportedFontSizes = ['10px', '11px', '12px', '14px', '16px', '18px', '20px', '24px'];
const defaultFontSize = '16px';
let foundFontSize = false;
let fontSize;

supportedFontSizes.some(size => {
  if (editor.formatter.match('fontsize', { value: size })) {
    fontSize = size;
    foundFontSize = true;
    return true;
  }
  return false;
});

if (!foundFontSize) {
  fontSize = defaultFontSize;
}