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;
}
我目前正在为 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;
}