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 实例。

TextSeeker

方法

名称概述定义者

backwards()

反向搜索文本节点,直到找到匹配项、边界或根节点。

TextSeeker

forwards()

正向搜索文本节点,直到找到匹配项、边界或根节点。

TextSeeker

构造函数

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。