文本格式化引擎类。此类用于对当前选区或特定节点应用粗体、斜体、字号等格式。该引擎旨在替代浏览器默认的execCommand格式化逻辑,因为后者存在不一致且有问题的行为。
示例
tinymce.activeEditor.formatter.register('mycustomformat', {
inline: 'span',
styles: { color: '#ff0000' }
});
tinymce.activeEditor.formatter.apply('mycustomformat');摘要
方法
| 名称 | 摘要 | 定义者 |
|---|---|---|
apply() | 将指定格式应用于当前选区或指定节点。 |
|
canApply() | 返回true/false表示指定格式是否可应用于当前选区。目前仅检查选择器格式的状态,对其他格式类型均返回true。 |
|
closest() | 从一组格式中查找当前选区的最近匹配格式。 |
|
formatChanged() | 当前选区匹配或不匹配格式时执行指定回调函数。 |
|
get() | 按名称返回格式,未指定名称时返回所有格式。 |
|
getCssText() | 返回指定格式的预览CSS文本。 |
|
has() | 返回true或false表示指定名称的格式是否已注册。 |
|
match() | 根据指定格式名称匹配当前选区或指定节点。 |
|
matchAll() | 将当前选区与格式数组匹配并返回包含匹配格式的新数组。 |
|
matchNode() | 返回true/false表示指定节点是否具有指定格式。 |
|
register() | 按名称注册特定格式。 |
|
remove() | 从当前选区或指定节点移除指定格式。 |
|
toggle() | 切换指定格式的开启/关闭状态。 |
|
unregister() | 按名称注销特定格式。 |
|
方法
apply()
apply(name: String, vars: Object, node: Node)
将指定格式应用于当前选区或指定节点。
参数
name (String)- 要应用的格式名称。vars (Object)- 可选变量列表,用于在应用前替换格式中的变量。node (Node)- 可选节点,默认应用于当前选区。
canApply()
canApply(name: String): Boolean
返回true/false表示指定格式是否可应用于当前选区。目前仅检查选择器格式的状态,对其他格式类型均返回true。
参数
name (String)- 要检查的格式名称。
返回值
Boolean- true/false表示指定格式是否可应用于当前选区/节点。
closest()
closest(names: Array): String
从一组格式中查找当前选区的最近匹配格式。
参数
names (Array)- 要检查的格式名称。
返回值
String- 最近匹配的格式名称或null。
formatChanged()
formatChanged(formats: String, callback: Function, similar: Boolean, vars: Object)
当前选区匹配或不匹配格式时执行指定回调函数。
参数
formats (String)- 要检查的格式名称(逗号分隔列表)。callback (Function)- 格式切换/变更时携带状态和参数的回调函数。similar (Boolean)- true/false表示匹配是否处理相似或精确格式。vars (Object)- 限制监视的格式仅当应用的变量等于vars时匹配。
get()
get(name: String): Array | Object
按名称返回格式,未指定名称时返回所有格式。
参数
name (String)- 可选检索名称。
返回值
Array- 包含所有已注册格式或特定格式的数组/对象。Object- 包含所有已注册格式或特定格式的数组/对象。
getCssText()
getCssText(format: String | Object): String
返回指定格式的预览CSS文本。
示例
const cssText1 = editor.formatter.getCssText('bold');
const cssText2 = editor.formatter.getCssText({ inline: 'b' });参数
format (String | Object)- 要生成预览 CSS 文本的格式。
返回值
String- 指定格式的 CSS 文本。
has()
has(name: String): Boolean
如果指定名称注册了格式,则返回 true 或 false。
参数
name (String)- 要检查是否存在格式的格式名称。
返回值
Boolean- 如果指定名称的格式存在,则为 True/False。
match()
match(name: String, vars: Object, node: Node, similar: Boolean): Boolean
将当前选区或指定节点与指定的格式名称进行匹配。
参数
name (String)- 要匹配的格式名称。vars (Object)- 在检查之前要替换的可选变量列表。node (Node)- 要检查的可选节点。similar (Boolean)- 可选参数,用于指定应检查相似的格式,而不仅仅是完全匹配的格式。
返回值
Boolean- 如果指定的选区/节点与格式匹配,则为 true/false。
matchAll()
matchAll(names: Array, vars: Object): Array
将当前选区与格式数组进行匹配,并返回包含匹配格式的新数组。
参数
names (Array)- 要匹配的格式名称。vars (Object)- 在检查之前要替换的可选变量列表。
返回值
Array- 包含匹配格式的数组。
matchNode()
matchNode(node: Node, name: String, vars: Object, similar: Boolean): Object
如果指定节点具有指定格式,则返回 true/false。
参数
node (Node)- 要检查格式的节点。name (String)- 要检查的格式名称。vars (Object)- 在检查之前要替换的可选变量列表。similar (Boolean)- 匹配具有相似属性的格式。
返回值
Object- 如果匹配则返回格式对象,如果不匹配则返回 undefined。
register()
register(name: Object | String, format: Object | Array)
按名称注册特定格式。
参数
name (Object | String)- 格式的名称,例如“bold”。format (Object | Array)- 可选的格式对象或格式变体数组,只有当第一个参数是对象时才能省略。
remove()
remove(name: String, vars: Object, node: Node | Range)
从当前选区或指定节点中移除指定格式。
参数
name (String)- 要移除的格式名称。vars (Object)- 在移除之前要在格式内替换的可选变量列表。node (Node | Range)- 要从其中移除格式的可选节点或 DOM 范围,默认为当前选区。
toggle()
toggle(name: String, vars: Object, node: Node)
切换指定格式的开启/关闭状态。
参数
name (String)- 要应用/移除的格式名称。vars (Object)- 在应用/移除之前要在格式内替换的可选变量列表。node (Node)- 要应用或移除格式的可选节点。默认为当前选区。
unregister()
unregister(name: String)
按名称注销特定格式。
参数
name (String)- 格式的名称,例如“bold”。