如果搜索不出来内容, 按回车会新建文档
有什么办法能取消创建新文档这个动作么
如果搜索不出来内容, 按回车会新建文档
有什么办法能取消创建新文档这个动作么
思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。
融合块、大纲和双向链接,重构你的思维。
代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。
用户在该标签下分享代码片段时需在帖子标题前添加 [css]
或 [js]
用于区分代码片段类型。
提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。
改变 dataset 类型值就好了,如下代码
// 搜索不到时回车不新建文档(鼠标点击可新建) // see https://ld246.com/article/1743579723972 (()=>{ observeSearchNewDocDom((searchNew) => { // 加载时修改类型 searchNew.dataset.type = 'search-new-disabled'; // 点击时恢复类型 searchNew.addEventListener('click', function(event) { searchNew.dataset.type = 'search-new'; }); searchNew.querySelector('.b3-list-item__meta').textContent = '点击创建'; if(searchNew.nextElementSibling && searchNew.nextElementSibling.matches('.search__empty')) { searchNew.nextElementSibling.textContent = `搜索结果为空,点击创建新文档`; searchNew.nextElementSibling.addEventListener('click', function(event) { searchNew.click(); }); } }); function observeSearchNewDocDom(callback) { // 创建一个观察者实例并传入回调函数 const observer = new MutationObserver(async (mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { // 监控搜索新建文档dom被加载 if (node.nodeType === 1 && node.matches('#searchList [data-type="search-new"]')) { callback(node); } }); } } }); // 配置观察选项: const config = { childList: true, // 观察子节点的变化(添加/删除) subtree: true, // 观察所有后代节点 attributes: false, }; // 选择需要观察变动的节点 const targetNode = document.body; // 或者选择更具体的父节点以减少性能消耗 // 开始观察目标节点 observer.observe(targetNode, config); // 返回一个取消观察的方法 return () => observer.disconnect(); } })();
该代码回车不创建文档,点击创建,保留了一部分原本功能。
用 CSS 隐藏这个新建文档按钮试一下
改变 dataset 类型值就好了,如下代码
// 搜索不到时回车不新建文档(鼠标点击可新建) // see https://ld246.com/article/1743579723972 (()=>{ observeSearchNewDocDom((searchNew) => { // 加载时修改类型 searchNew.dataset.type = 'search-new-disabled'; // 点击时恢复类型 searchNew.addEventListener('click', function(event) { searchNew.dataset.type = 'search-new'; }); searchNew.querySelector('.b3-list-item__meta').textContent = '点击创建'; if(searchNew.nextElementSibling && searchNew.nextElementSibling.matches('.search__empty')) { searchNew.nextElementSibling.textContent = `搜索结果为空,点击创建新文档`; searchNew.nextElementSibling.addEventListener('click', function(event) { searchNew.click(); }); } }); function observeSearchNewDocDom(callback) { // 创建一个观察者实例并传入回调函数 const observer = new MutationObserver(async (mutationsList, observer) => { for (const mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { // 监控搜索新建文档dom被加载 if (node.nodeType === 1 && node.matches('#searchList [data-type="search-new"]')) { callback(node); } }); } } }); // 配置观察选项: const config = { childList: true, // 观察子节点的变化(添加/删除) subtree: true, // 观察所有后代节点 attributes: false, }; // 选择需要观察变动的节点 const targetNode = document.body; // 或者选择更具体的父节点以减少性能消耗 // 开始观察目标节点 observer.observe(targetNode, config); // 返回一个取消观察的方法 return () => observer.disconnect(); } })();
该代码回车不创建文档,点击创建,保留了一部分原本功能。
Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。
RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。
生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。
HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。
安全 · 稳定 · 快速
为跨境从业人员提供专业的跨境浏览器
SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
即用的 Vim-IDE。
Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。
LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!
PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。
Thank God It's Friday! 感谢老天,总算到星期五啦!
上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。
JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA。
LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。
Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。
网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。
百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。