我正在为TinyMCE5创建一个插件,该插件可在10px
,14px
和18px
之间切换所选文本的字体大小。 (defaut的字体大小为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;
}
我可以使用2种不同的快捷方式来实现此目的,但我更希望使用一个快捷方式在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
答案 0 :(得分:2)
尝试一下,
fontsize = (fontsize <= 10) ? 18 : ((fontsize > 10 && fontsize <= 14) ? 10 : 14);