如果搜索不出来内容, 按回车会新建文档
有什么办法能取消创建新文档这个动作么
如果搜索不出来内容, 按回车会新建文档
有什么办法能取消创建新文档这个动作么
思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。
融合块、大纲和双向链接,重构你的思维。
代码片段分为 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(); } })();
该代码回车不创建文档,点击创建,保留了一部分原本功能。
PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。
Unity 是由 Unity Technologies 开发的一个让开发者可以轻松创建诸如 2D、3D 多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
沉迷游戏伤身,强撸灰飞烟灭。
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶!
jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。
HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。
Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。
Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。
Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。
房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。
域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。
Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Logseq 是一个隐私优先、开源的知识库工具。
Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.
昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。
1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。
WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。
RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。