TextSeeker 类使您能够在 DOM 中跨文本查找特定点。
示例
const seeker = tinymce.dom.TextSeeker(editor.dom);
const startOfWord = seeker.backwards(startNode, startOffset, (textNode, offset, text) => {
const lastSpaceCharIndex = text.lastIndexOf(' ');
if (lastSpaceCharIndex !== -1) {
return lastSpaceCharIndex + 1;
} else {
// 未找到空格,继续搜索
return -1;
}
});概述
构造函数
| 名称 | 概述 | 定义者 |
|---|---|---|
TextSeeker() | 构造一个新的 TextSeeker 实例。 |
|
方法
| 名称 | 概述 | 定义者 |
|---|---|---|
backwards() | 反向搜索文本节点,直到找到匹配项、边界或根节点。 |
|
forwards() | 正向搜索文本节点,直到找到匹配项、边界或根节点。 |
|
构造函数
TextSeeker
public constructor function TextSeeker(dom: tinymce.dom.DOMUtils, isBoundary: Function)
构造一个新的 TextSeeker 实例。
参数
dom (DOMUtils)- DOMUtils 对象引用。isBoundary (Function)- 可选函数,用于确定查找器是否应继续越过提供的节点。默认情况下,搜索会一直进行,直到找到块级元素或br元素。
方法
backwards()
backwards(node: Node, offset: Number, process: Function, root: Node): Object
反向搜索文本节点,直到找到匹配项、边界或根节点。
参数
node (Node)- 开始搜索的节点。offset (Number)- 开始搜索的节点的偏移量。process (Function)- 一个函数,它接收当前文本节点、当前偏移量和节点的文本内容。它应返回匹配项的偏移量,或返回 -1 以继续搜索。root (Node)- 可选的根节点,用于限制搜索范围。
返回值
Object- 包含匹配的文本节点和偏移量的对象。如果未找到匹配项,则返回 null。
forwards()
forwards(node: Node, offset: Number, process: Function, root: Node): Object
正向搜索文本节点,直到找到匹配项、边界或根节点。
参数
node (Node)- 开始搜索的节点。offset (Number)- 开始搜索的节点的偏移量。process (Function)- 一个函数,它接收当前文本节点、当前偏移量和节点的文本内容。它应返回匹配项的偏移量,或返回 -1 以继续搜索。root (Node)- 可选的根节点,用于限制搜索范围。
返回值
Object- 包含匹配的文本节点和偏移量的对象。如果未找到匹配项,则返回 null。