这个项目能做什么

Draggable 是一个 JavaScript 库,通过将原生浏览器事件抽象为全面的 API,提供对拖放行为的完全控制。它专为创建自定义拖放体验而设计,并包含附加模块:Sortable、Droppable 和 Swappable。Draggable 本身处理繁重的工作——创建镜像、发出事件、管理传感器事件以及使元素可拖放——而附加模块则在其基础上提供排序、放置和交换功能。 主要特性包括支持原生拖拽、鼠标、触摸和 Force Touch 事件;通过事件生命周期钩子和自定义传感器实现可扩展性;以及以 ES6 为首要目标。该库可通过 npm、yarn 或 CDN 获取,同时提供 ESM 和 UMD 构建。它包含 TypeScript 定义,并兼容最新版本的 Chrome、Firefox、Opera、Safari 和 Edge。 Draggable 附带几个插件:Collidable、ResizeMirror、Snappable、SwapAnimation 和 SortAnimation,用于增强拖拽行为。传感器包括 DragSensor、ForceTouchSensor、MouseSensor 和 TouchSensor。文档位于源目录内,涵盖事件、插件和模块。 注意:该库已不再由 Shopify 的原始作者维护,但维护工作已移交给新的协作者,并且他们仍在寻找更多维护者。欢迎贡献,还有诸如 Ember CLI shims 等相关资源。该项目版权归 Shopify 所有(2018 年至今)。