tinymce 将样式应用于整行,如标题、段落

tinymce apply style to whole line like heading, paragraph

我正在寻找一种将样式应用于整行的方法,就像 tinymce 编辑器中标题或段落的默认行为一样。

更清楚的是,当我们设置标题 1 或段落时出现了奇怪的行为,整行光标自动应用了样式,而没有突出显示(蓝色)带有光标的文本。

当我在 tinymce 上使用自定义快捷方式时,任何使用相同行为来应用样式的方法。

editor.addShortcut(
      'meta+alt+u', 'Add yellow highlight to selected text.', function () {
    tinymce.activeEditor.execCommand('FontSize', 0, '24px');
        
    });

这仅适用于选定的文本而不是整行。

区别在于格式在编辑器中应用

有些样式是“内嵌的”,您会看到编辑器用 <span> 标记包裹所选内容以应用格式。其他行为(例如将某物设为标题)适用于整个块级元素(例如 <p><div>)。

style_formats 配置选项为您提供了一种指定如何应用样式的方法。这是一个 TinyMCE Fiddle,展示了如何添加块级和内联级样式:

http://fiddle.tinymce.com/Cthaab

关键配置设置为:

style_formats: [
  {title: 'Red text - applies inline', inline: 'span', styles: {color: '#ff0000'}},
  {title: 'Red paragraph - applies to block', block: 'p', styles: {color: '#ff0000'}},
]

您会发现您可以控制样式的应用方式和标签。该文档更好地涵盖了 style_formats 选项的所有选项:https://www.tiny.cloud/docs/configure/editor-appearance/#style_formats

fiddle 还会将应用这两个示例时 TinyMCE 正在执行的实际命令记录到浏览器的控制台。您当然可以使用相同的 API 自己应用样式,但由于编辑器已经有 UI 来执行此操作,因此使用现有的 UI.

似乎更容易