Pointeract
Pointeract 是一个仅 1KB 核心体积、可摇树优化的 TypeScript 库,用于稳健的人类手势识别。支持鼠标、触控、触摸板与滚轮事件,是 Hammer.js 的现代化、可扩展替代方案。
Pointeract 是一个仅 1KB 核心体积、可摇树优化的 TypeScript 库,用于稳健的人类手势识别。支持鼠标、触控、触摸板与滚轮事件,是 Hammer.js 的现代化、可扩展替代方案。
Pointeract 是一个轻量级的 JavaScript/TypeScript 工具库,专注于一件事——处理 DOM 元素交互,例如多点触控与触控板操作。
借助 TypeScript 的类型能力与运行时动态特性,Pointeract 构建了高度模块化、可扩展且高效的架构。其核心包体积仅 1KB(压缩后),功能则由同样小巧的模块提供。它完全支持 摇树优化(tree-shaking),用得越少,包体积就越小。
主页与文档:pointeract.consensia.cc。
Ctrl/Shift 键绑定,兼容触摸板)这些交互功能均以模块化形式提供,可灵活组合,从简单的拖放操作到复杂的画布应用皆能胜任。
若缺少您所需的功能?请编写您的自定义模块!
PreventDefault 模块除外),细致的清理机制可防止内存泄漏。市面上已有众多交互库,其中最著名的包括 d3-drag + d3-zoom、Interact.js 和 Hammer.js,但 Pointeract 与它们不同。
| 标准 | Pointeract | D3 Drag + D3 Zoom | Hammer.js | Interact.js |
|---|---|---|---|---|
| 使用 TypeScript 编写? | ✅ | ❌ | ❌ | ✅ |
| 支持摇树优化 (Tree-shakeable)? | ✅ | ❌ | ❌ | ❌ |
| 总包大小 (压缩后) | 👑 2.7KB | 17KB | 7KB | 28KB |
| 最后更新时间 | 👑 活跃维护中 | 2021 | 2015 | 2023 |
| 多功能性 | 指针与滚轮操作 + 部分工具 | 👑 指针与滚轮操作 + 生态系统 | 仅限指针相关 | 指针相关 + 全面工具集 |
| 支持的设备 | 👑 鼠标、滚轮、触控、触摸板 | ⚠️ 不支持触摸板 | ⚠️ 不支持触摸板或鼠标滚轮 | ⚠️ 不支持触摸板或鼠标滚轮 |
| 稳健性 (通过 猴子测试) | ✅ | ✅ | ❌ 元素抖动 | ❌ 忽略第二次触摸 |
| 可扩展性? | ✅ | ❌ | ❌ | ❌ |
Pointeract 采用 Apache License 2.0 授权。