news 2026/5/21 11:18:52

At.js 多字符监听终极指南:轻松实现 @、、: 等多种触发方式的完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
At.js 多字符监听终极指南:轻松实现 @、、: 等多种触发方式的完整教程

At.js 多字符监听终极指南:轻松实现 @、#、: 等多种触发方式的完整教程

【免费下载链接】At.jsAdd Github like mentions autocomplete to your application.项目地址: https://gitcode.com/gh_mirrors/at/At.js

At.js 是一款强大的开源库,能够为你的应用添加类似 GitHub 的提及自动完成功能,支持 @、#、: 等多种触发字符,让用户输入体验更流畅。本文将详细介绍如何快速上手 At.js,掌握多字符监听的配置方法和实用技巧。

🌟 At.js 核心功能与优势

At.js 作为一款轻量级的自动完成库,具有以下核心优势:

  • 多字符支持:同时监听 @(用户提及)、#(标签)、:(表情符号)等多种触发字符
  • 高度可定制:支持自定义模板、数据来源和显示样式
  • 跨场景兼容:完美支持文本框(textarea)、富文本编辑器(如 TinyMCE)和内容可编辑元素(contenteditable)
  • 轻量高效:体积小巧,性能优异,不会影响页面加载速度

🚀 快速开始:5 分钟集成 At.js

1️⃣ 安装与引入

你可以通过以下方式获取 At.js:

git clone https://gitcode.com/gh_mirrors/at/At.js

在 HTML 文件中引入必要的依赖:

<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> <script src="https://ichord.github.io/Caret.js/src/jquery.caret.js"></script>

2️⃣ 基础配置示例

以下是一个同时配置 @ 提及和 : 表情符号的示例:

// 用户数据 var names = ['Alice', 'Bob', 'Charlie', 'David']; var emojis = ['smile', 'smiley', 'coffee', 'thumbsup']; // @ 配置 var at_config = { at: "@", data: names, headerTpl: '<div class="atwho-header">Member List<small>↑&nbsp;↓&nbsp;</small></div>', insertTpl: '${name}', displayTpl: "<li>${name} <small>${email}</small></li>", limit: 200 }; // : 配置 var emoji_config = { at: ":", data: emojis, displayTpl: "<li>${name} <img src='https://assets-cdn.github.com/images/icons/emoji/${key}.png' height='20' width='20' /></li>", insertTpl: ':${key}:', delay: 400 }; // 应用到输入框 $('#inputor').atwho(at_config).atwho(emoji_config);

⚙️ 高级配置:定制你的自动完成体验

自定义触发字符与数据

At.js 支持任意字符作为触发符,例如配置 # 标签功能:

var hashtag_config = { at: "#", data: ['javascript', 'html', 'css', 'react', 'vue'], displayTpl: "<li>${name}</li>", insertTpl: '#${name}' }; $('#inputor').atwho(hashtag_config);

支持富文本编辑器

At.js 可以轻松集成到主流富文本编辑器中,例如 TinyMCE:

// TinyMCE 集成示例 tinymce.init({ selector: '#editor', setup: function(editor) { editor.on('init', function() { $(editor.contentDocument.activeElement).atwho({ at: "@", data: names }); }); } });

事件回调与交互优化

通过事件回调可以实现更复杂的交互逻辑:

$('#inputor').atwho(at_config) .on('atwho:selected', function(event, data) { console.log('选中了:', data.name); }) .on('atwho:shown', function() { console.log('下拉框显示了'); });

📝 实际应用场景

社交平台 @ 好友功能

在社交应用中,用户输入 @ 后自动显示好友列表,提升互动体验。

内容管理系统标签推荐

使用 # 触发标签推荐,帮助用户快速添加文章标签。

即时通讯表情选择器

通过 : 触发表情选择器,让聊天更生动有趣。

📚 学习资源与文档

  • 项目源码:src/
  • 示例代码:examples/
  • 测试用例:spec/

💡 实用技巧

  1. 性能优化:对于大量数据,使用limit参数限制显示数量
  2. 样式定制:通过修改 src/jquery.atwho.css 自定义下拉框样式
  3. 延迟加载:使用delay参数避免频繁触发
  4. 多实例共存:同一页面可以为不同元素配置不同的触发规则

At.js 凭借其灵活的配置和强大的功能,成为实现自动完成功能的理想选择。无论是简单的 @ 提及还是复杂的多字符触发场景,At.js 都能满足你的需求,让用户输入体验提升到新的水平。

【免费下载链接】At.jsAdd Github like mentions autocomplete to your application.项目地址: https://gitcode.com/gh_mirrors/at/At.js

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 2:22:53

PyTorch 2.8镜像部署教程:支持JWT鉴权的企业级AI API服务配置

PyTorch 2.8镜像部署教程&#xff1a;支持JWT鉴权的企业级AI API服务配置 1. 环境准备与快速部署 在开始之前&#xff0c;请确保您的服务器满足以下硬件要求&#xff1a; 显卡&#xff1a;RTX 4090D 24GB显存内存&#xff1a;≥120GB存储&#xff1a;系统盘50GB 数据盘40GB…

作者头像 李华
网站建设 2026/4/20 13:21:35

Electron应用性能优化终极指南:7个关键技巧提升桌面应用体验

Electron应用性能优化终极指南&#xff1a;7个关键技巧提升桌面应用体验 Electron框架让开发者能够使用Web技术构建跨平台桌面应用&#xff0c;但性能优化是确保应用流畅运行的关键。作为结合Chromium渲染引擎和Node.js运行时的开源框架&#xff0c;Electron应用性能优化直接影…

作者头像 李华
网站建设 2026/4/21 10:43:32

Wand-Enhancer终极指南:3分钟免费解锁WeMod Pro完整功能

Wand-Enhancer终极指南&#xff1a;3分钟免费解锁WeMod Pro完整功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否还在为WeMod的高级功能付费而…

作者头像 李华
网站建设 2026/4/21 15:49:08

5分钟快速上手:终极开源词库转换工具完整使用指南

5分钟快速上手&#xff1a;终极开源词库转换工具完整使用指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 深蓝词库转换器是一款开源免费的输入法词库转换程序&am…

作者头像 李华
网站建设 2026/4/29 23:49:34

老旧Mac升级完全指南:使用OpenCore Legacy Patcher实现macOS版本适配

老旧Mac升级完全指南&#xff1a;使用OpenCore Legacy Patcher实现macOS版本适配 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果不断推进macOS系统更…

作者头像 李华