UNPKG

ioto-multi-tap

Version:

一个用于处理短时间内连续触发调用的 JavaScript 工具类

93 lines (70 loc) 2.29 kB
# MultiTap **MultiTap** 是一个用于在短间隔内连续触发调用时,根据调用次数执行不同处理函数的 JavaScript 类。 你可以为不同的连续调用次数指定专属的处理函数,例如: - 单击时执行 handler1 - 400ms 内连续按两次时执行 handler2 - 400ms 内连续按三次时执行 handler3(以及更多可选 handler) 如果连续调用次数超出了你提供的处理函数数量,则自动使用最后一个处理函数作为默认处理逻辑。 ## 安装 ### NPM ```bash npm install ioto-multi-tap ``` ### PNPM ```bash pnpm add ioto-multi-tap ``` ### YARN ```bash yarn add ioto-multi-tap ``` ### 直接引入`src/ioto-multi-tap.js` 文件加入到你的项目中即可。 例如,你可以直接在 HTML 中通过 `<script>` 标签引入: ```html <script src="path/to/ioto-multi-tap.js"></script> ``` ## 使用方法 ### ESM 模块导入 ```javascript import { MultiTap } from 'ioto-multi-tap'; // 创建实例并设置处理函数 const multiTap = new MultiTap([ // 单击处理函数 (data, count) => console.log(`单击:${count} 次,数据:`, data), // 双击处理函数 (data, count) => console.log(`双击:${count} 次,数据:`, data), // 三击处理函数(可选) (data, count) => console.log(`三击:${count} 次,数据:`, data) ]); // 在需要的地方调用 trigger 方法,可以传入任意数据 const data = { value: 'test' }; multiTap.trigger(data); ``` ### CommonJS 模块导入 ```javascript const { MultiTap } = require('ioto-multi-tap'); // 创建实例并设置处理函数 const multiTap = new MultiTap([ // 单击处理函数 (data, count) => console.log(`单击:${count} 次,数据:`, data), // 双击处理函数 (data, count) => console.log(`双击:${count} 次,数据:`, data), // 三击处理函数(可选) (data, count) => console.log(`三击:${count} 次,数据:`, data) ]); ``` ### 与 DOM 事件结合 ```javascript // 监听按钮点击事件 document.querySelector('#myButton').addEventListener('click', () => { multiTap.trigger(); }); ``` ## 运行测试 项目包含了基本的测试用例,你可以通过以下命令运行测试: ```bash npm test ``` ## 许可证 [MIT](LICENSE)