【已解决】如何监听 Obsidian 的滚动事件

import { Plugin } from "obsidian";

export default class MyPlugin extends Plugin {
  async onload() {
    // 获取当前活动编辑器
    const activeEditor = this.app.workspace.getActiveViewOfType(this.app.workspace.MarkdownView)?.editor;

    if (activeEditor) {
      // 获取滚动信息
      const scrollInfo = activeEditor.getScrollInfo();

      // 打印滚动位置和水平位置
      console.log("垂直滚动位置:", scrollInfo.top);
      console.log("水平滚动位置:", scrollInfo.left);
    }
  }
}

使用这个不行

直接用document.addEventListener("scroll", callback)来监听,然后在回调里面判断是否是编辑器中的滚动。

我是这么做的,可以参考:

1 个赞

onload只会执行一次,要持续监听就用上面的方法

非常感谢大佬的帮助 :grinning: