# 类似飞书OKR输入框的AT提及功能 **Repository Path**: zhangxinxu/okr-at-mention ## Basic Information - **Project Name**: 类似飞书OKR输入框的AT提及功能 - **Description**: div模拟富文本编辑框,借助tributejs实现,里面有可交互的 @ 提及功能。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 48 - **Forks**: 16 - **Created**: 2022-08-25 - **Last Updated**: 2025-05-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 类似飞书OKR输入框的AT提及功能 ### 介绍 div模拟富文本编辑框,借助 tributejs 实现,里面有可交互的 @ 提及功能。 Demo地址:https://zhangxinxu.gitee.io/okr-at-mention/ ### 使用说明 1. 引入 src 目录中的 JS 和 CSS 2. 按照语法进行参数设置和处理 ```html
``` ### 语法和参数 语法为: ```js atWakaka(container, options, optionsTribute); ``` 其中:
container
可输入的编辑框容器元素,可以是 DOM 元素本身,也可以是元素的 id 字符串。
options
可选参数,下面有注释说明。
optionsTribute
可选参数。参见 https://github.com/zurb/tribute 中的参数设置。
#### 关于options可选参数 ```js { url: '', // 按下回车键后,如果希望阻止默认的回车换行 // 并做一些事情,这个参数就可以用到 pressEnter: null, // 鼠标经过的提示元素,默认本组件会自己创建 // 也可以可以自己指定具体的元素 popOver: 'auto', // 鼠标经过和移出 @ 元素的处理 // event 是事件对象 // data 是 @元素 对应的请求数据 // popover 是浮层元素 onMouseOver: function (event, data, popover) {}, onMouseOut: function (event, data, popover) {} } ``` #### 关于 optionsTribute 可选参数 如果 @ 下拉列表样式不满意,或者请求的数据结构和自己这边的不符合,均是使用 optionsTribute 可选参数进行处理。 请求数据处理使用 values 参数(Function 类型),列表模板和选择后的样式使用参数 menuItemTemplate 和 selectTemplate,详见 https://github.com/zurb/tribute 中的参数设置。 或者参见 atWakaka.js 中的使用示意,对其进行一一替换即可。 ### 其他 原生 JS 开发,兼容各大框架,但是不兼容 IE 浏览器。