Я создаю плагин для TinyMCE5, который переключает размер шрифта выделенного текста между 10px
, 14px
и 18px
.(Размер шрифта по умолчанию 14px
)
Это моя попытка:
editor.addCommand('customfontsize_command', function () {
var content = tinymce.activeEditor.selection.getContent();
var node = tinymce.activeEditor.selection.getNode();
var fontsize = tinymce.activeEditor.dom.getStyle(node, 'font-size', true);
fontsize = fontsize.split("p", 1)
fontsize--;
if (fontsize > 0 && fontsize <= 100) { // only work for first time
switch (fontsize) {
case 18:
fontsize = 14;
break;
case 10:
fontsize = 8;
break;
case 8:
fontsize = 18;
break;
default:
fontsize = 14;
}
fontsize = fontsize + "px";
tinymce.activeEditor.execCommand('fontsize', false, fontsize);
}
}); // end customfontsize_command
editor.addShortcut('alt+a', 'customfontsize_command_desc', 'customfontsize_command');
Но это работает только в первый раз, когда я делаю ярлык.
Я тоже пробовал это, но с тем же результатом:
if (fontsize > 10 && fontsize <= 14) {
fontsize = 10;
} else if (fontsize <= 10) {
fontsize = 18;
} else {
fontsize = 14;
}
Я могу сделать эту работу с двумя разными сочетаниями клавиш, как это, но я бы предпочел один ярлык, который переключается между3 размера:
editor.addCommand('small_size', function () {
var content = tinymce.activeEditor.selection.getContent();
var node = tinymce.activeEditor.selection.getNode();
var fontsize = tinymce.activeEditor.dom.getStyle(node, 'font-size', true);
fontsize = fontsize.split("p", 1)
fontsize = 10
fontsize = fontsize + "px";
tinymce.activeEditor.execCommand('fontsize', false, fontsize);
}); // end customfontsize_command
editor.addCommand('big_size', function () {
var content = tinymce.activeEditor.selection.getContent();
var node = tinymce.activeEditor.selection.getNode();
var fontsize = tinymce.activeEditor.dom.getStyle(node, 'font-size', true);
fontsize = fontsize.split("p", 1)
fontsize = 18
fontsize = fontsize + "px";
tinymce.activeEditor.execCommand('fontsize', false, fontsize);
}); // end customfontsize_command