[js] 鼠标中键折叠块

操作

点击鼠标中键, 进行折叠

折叠逻辑

会点击第一个菜单按钮里面的折叠
所以一般折叠的是最外层的块

image.png

效果

中键折叠.gif

js 代码

document.addEventListener('mousedown', function(event) {
    // 判断是否是中键点击
    if (event.button === 1) { // 中键的 button 值为 1
        let menu_ele = document.querySelector('.protyle-gutters:not(.fn__none)')
        if (!menu_ele) return
        event.preventDefault();
        menu_ele?.firstElementChild?.click()
        document.querySelector('div.b3-menu__items>button[data-id="fold"]')?.click()
    }
});
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23013 引用 • 92566 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    90 引用 • 561 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • cxg318

    有比没有好,有很多人需要的.希望更进一步,加油

  • 其他回帖
  • Adaxi

    谢谢 有用

  • cxg318

    好用的,有小机率会失灵.

    和思源插件-中键小窗-有冲突;KLBautoswitch(输入法提示软件)中的"切换提示"需要关闭.

    1 回复
  • EmberSky

    代码是通过模拟点击这个菜单里面的折叠 实现的

    必须有这个按钮之后, 中键才会生效, 我个人体验下来, 也感觉不是特别丝滑

    image.png

  • 查看全部回帖
EmberSky
如果感觉我的回答对你有帮助, 请点击 感谢 支持一下, 谢谢! 杭州