awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

Drag and drop library

排名更新于 2026年7月4日

For a javascript library for drag and drop, the strongest matches are sortablejs/sortable (Sortable is a mature, framework-agnostic JavaScript library focused on), rubaxa/sortable (Sortable is a JavaScript drag-and-drop library purpose-built for reorderable) and mzabriskie/react-draggable (This is a React-specific drag-and-drop library that lets you). clauderic/dnd-kit and david-desmaisons/vue.draggable round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore the best drag and drop libraries for your project. Compare top-rated GitHub repositories by activity and features to find the best fit.

Drag and drop library

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • sortablejs/sortableSortableJS 的头像

    SortableJS/Sortable

    31,135在 GitHub 上查看↗

    Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions. It functions as a reorderable list manager that allows users to rearrange DOM elements using pointer interactions on modern browsers and touch devices. The library enables the transfer or cloning of items between different lists using shared group identifiers. It supports complex organizational structures, including nested reorderable lists for managing hierarchical data across different levels. Its capabilities cover the animation of element movements and the configuration

    Sortable is a mature, framework-agnostic JavaScript library focused on creating reorderable lists and grid items via drag-and-drop, with built-in touch support, drag handles, and animations — it directly fits the core need of enabling drag-and-drop interactions in web applications.

    JavaScriptDrag HandlesFramework Agnostic UI LogicCSS Transitions
    在 GitHub 上查看↗31,135
  • rubaxa/sortableRubaXa 的头像

    RubaXa/Sortable

    31,135在 GitHub 上查看↗

    Sortable is a JavaScript drag and drop library used to create reorderable lists of HTML elements. It is a framework-agnostic tool and a touch-enabled interaction library that functions across modern browsers and touch devices without dependencies on specific web frameworks. The library enables the movement and cloning of elements between different containers using shared group configurations. It supports the repositioning of multiple items simultaneously and the use of specific drag handles to restrict which areas of an element trigger a move. Additional capabilities include programmatic sor

    Sortable is a JavaScript drag-and-drop library purpose-built for reorderable lists and cross-container transfers, supporting touch devices, drag handles, and list-transition animations, though it does not explicitly offer custom drag previews or ARIA accessibility.

    JavaScriptDrag HandlesFramework Agnostic UI Logic
    在 GitHub 上查看↗31,135
  • mzabriskie/react-draggablemzabriskie 的头像

    mzabriskie/react-draggable

    9,289在 GitHub 上查看↗

    react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement and coordinate-based positioning to web elements. It serves as a tool for making user interface elements movable via mouse or touch interactions within React applications. The library supports the implementation of custom drag handles, allowing the initiation of movement to be restricted to specific child elements identified by CSS selectors. It also provides programmatic drag state management, enabling developers to control element positioning or use callbacks for movement wit

    This is a React-specific drag-and-drop library that lets you make elements movable with mouse or touch, including custom drag handles and basic animations, but it doesn't provide drag previews, mixed-grid support, or built-in accessibility, and it's limited to React rather than being framework-agnostic.

    JavaScriptDrag Handles
    在 GitHub 上查看↗9,289
  • clauderic/dnd-kitclauderic 的头像

    clauderic/dnd-kit

    17,243在 GitHub 上查看↗

    This project is a modular toolkit for building accessible, component-based drag-and-drop interfaces in React. It provides a foundational framework for managing complex spatial interactions, state synchronization, and element registration, allowing developers to create interactive web applications that support mouse, touch, and keyboard inputs. The library distinguishes itself through a highly extensible architecture that separates input handling from interaction logic. It utilizes a sensor-based input abstraction to normalize diverse user interactions and a plugin-driven lifecycle to inject c

    dnd-kit is a React-specific drag-and-drop toolkit with strong support for touch, keyboard, and mouse inputs, custom drag previews, drag handles, accessibility (ARIA), and animations; it fits your search for a JavaScript/TypeScript drag-and-drop library, but it is not framework-agnostic as it requires React.

    TypeScriptDrag HandlesAccessible UI Components
    在 GitHub 上查看↗17,243
  • david-desmaisons/vue.draggableDavid-Desmaisons 的头像

    David-Desmaisons/Vue.Draggable

    20,609在 GitHub 上查看↗

    Vue.Draggable is a user interface component for Vue that enables drag-and-drop list reordering. It functions as a declarative wrapper for the Sortable.js library, providing a specialized list element that synchronizes the visual order of elements with an underlying data model. The project supports complex interactive layouts, including the ability to transfer items between multiple containers and clone items during the drag process. It provides mechanisms to restrict drag initiation to specific handle elements and allows for the embedding of static content within the draggable area. The fram

    Vue.Draggable is a drag-and-drop list reordering library built specifically for Vue, which fits the core request for a drag‑and‑drop library but falls short on the desired framework‑agnostic design and several listed features like touch support and accessibility.

    JavaScriptDrag Handles
    在 GitHub 上查看↗20,609
  • bevacqua/dragulabevacqua 的头像

    bevacqua/dragula

    22,160在 GitHub 上查看↗

    Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface. The library distinguishes itself through configurable constraint validation, allowing developers to define which elements are draggable and which containers are permitted drop targets. It supports specialized interaction patterns such as element cloning, the use of specific drag handles to restri

    Dragula is a vanilla JavaScript drag-and-drop library for moving elements between containers, matching the core need, though it may lack some advanced features like touch support, ARIA, and animation out of the box.

    JavaScriptDrag Handles
    在 GitHub 上查看↗22,160
  • clauderic/react-sortable-hocclauderic 的头像

    clauderic/react-sortable-hoc

    10,905在 GitHub 上查看↗

    React Sortable Hoc is a library for building drag-and-drop reorderable lists and grids within web applications. It provides a set of reusable components designed to integrate into the component-based architecture of React, allowing users to rearrange elements through mouse or touch input. The library utilizes a higher-order component pattern to inject drag-and-drop state management into existing list components without requiring modifications to the underlying implementation. It employs portal-based ghost rendering to move elements outside the normal document flow, while using hardware-accele

    React Sortable Hoc provides drag-and-drop sorting for lists and grids in React applications with touch support and custom previews, but it is React-specific rather than framework-agnostic.

    JavaScriptSortable ListsReact ComponentsDrag and Drop Libraries
    在 GitHub 上查看↗10,905
  • atlassian/react-beautiful-dndatlassian 的头像

    atlassian/react-beautiful-dnd

    34,049在 GitHub 上查看↗

    This project is a declarative drag-and-drop library designed for building accessible and fluid interface interactions within web applications. It provides a component-based interface for managing complex list reordering and spatial relationships between elements, utilizing a specialized state container to coordinate movement logic. The library distinguishes itself through a focus on accessibility, maintaining a live connection between visual drag states and the browser accessibility tree to support screen readers and keyboard navigation. It optimizes performance by bypassing standard componen

    react-beautiful-dnd is a declarative drag-and-drop library for React that excels at accessible list reordering and includes smooth animations, but it is not framework-agnostic, so it fits the search if you use React but may miss those wanting a generic JS/TS solution.

    JavaScriptDeclarative Drag-and-Drop LibrariesAccessible Interaction ToolkitsList Reordering Components
    在 GitHub 上查看↗34,049
  • gridstack/gridstack.jsgridstack 的头像

    gridstack/gridstack.js

    8,972在 GitHub 上查看↗

    gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive interfaces with draggable and resizable elements. It functions as a drag-and-drop layout manager and a JSON-serializable layout engine, allowing user-defined interface states to be persisted and restored. The library distinguishes itself through a touch-enabled grid interface and a responsive system that automatically adjusts item placement based on screen breakpoints. It features a collision-based layout engine that manages overlapping coordinates to shift or swap elements, alongsid

    gridstack.js is a drag-and-drop library specialized for grid-based layouts with widgets, offering touch support, resizable items, and framework integrations—great for a draggable dashboard grid, but narrower than a general-purpose drag-and-drop library for arbitrary elements.

    TypeScriptDrag and Drop LibrariesGrid LayoutsCollision Detection
    在 GitHub 上查看↗8,972
  • marceljuenemann/angular-drag-and-drop-listsmarceljuenemann 的头像

    marceljuenemann/angular-drag-and-drop-lists

    2,146在 GitHub 上查看↗

    This library provides a set of directives for building sortable, hierarchical user interfaces within the Angular framework. It leverages the native HTML5 drag-and-drop API to enable direct manipulation of data objects, allowing users to reorder items and manage complex list structures through intuitive browser interactions. The project distinguishes itself by supporting nested data visualization, enabling the creation of tree structures that maintain their hierarchy during drag-and-drop operations. It offers granular control over these interactions through custom drag handles, which restrict

    marceljuenemann/angular-drag-and-drop-lists is an Angular-specific library for sorting nested lists using the HTML5 Drag & Drop API, so it genuinely enables drag-and-drop interactions as requested, though it is not framework-agnostic and lacks many of the listed features like touch support and custom preview.

    JavaScriptDrag Handles
    在 GitHub 上查看↗2,146
  • ksylvest/jquery-gridlyksylvest 的头像

    ksylvest/jquery-gridly

    852在 GitHub 上查看↗

    This project is a jQuery plugin designed for creating responsive grid interfaces that support interactive drag-and-drop reordering and manual resizing of elements. It provides a framework for managing structured layouts where content can be organized into a grid system that automatically adjusts to maintain visual alignment. The library enables users to customize dashboards by rearranging and scaling widgets through mouse-based interactions. It utilizes a coordinate-based system to detect collisions and ensure that elements snap into valid slots, while providing callback functions to monitor

    Gridly is a jQuery plugin for drag-and-drop on a grid, fitting the category but tied to jQuery and focused on grid layouts, so it lacks framework agnosticism and several advanced features you listed.

    CoffeeScriptjQuery Grid Layout PluginsGrid Drag-and-Drop ManagersAbsolute Positioning
    在 GitHub 上查看↗852
  • haltu/muurihaltu 的头像

    haltu/muuri

    10,954在 GitHub 上查看↗

    Muuri is a JavaScript grid layout library and draggable UI framework used to create responsive grids with drag-and-drop reordering, sorting, and animated filtering. It features a nested grid system that allows full grid instances to be embedded inside other grid items to create hierarchical structures. The library uses a web worker layout engine to offload heavy coordinate calculations to background threads, maintaining interface responsiveness during complex rearrangements. The system provides interactive capabilities for moving items between multiple containers, filtering visibility based

    Muuri is a JavaScript grid layout and drag-and-drop library that enables reordering, sorting, and animated filtering within responsive grids, fitting the core drag-and-drop need, though it focuses on grid layouts rather than being a general-purpose drag-and-drop solution.

    JavaScriptDraggable Layout ElementsResponsive Grid LayoutsAsynchronous Layout Calculation
    在 GitHub 上查看↗10,954
  • atlassian/pragmatic-drag-and-dropatlassian 的头像

    atlassian/pragmatic-drag-and-drop

    12,685在 GitHub 上查看↗

    Pragmatic Drag and Drop is a TypeScript library that provides a complete system for implementing drag and drop interactions in web applications. It handles the full lifecycle of drag operations, from registering drop targets and monitoring drag events to managing cleanup functions, all through a structured adapter-based approach. The library supports a wide range of data manipulation patterns, including reordering items within lists, tables, trees, virtual lists, and side navigation, as well as moving items between lists and across columns in a board layout. It also enables swapping items in

    Pragmatic Drag and Drop is a complete TypeScript library for implementing drag-and-drop interactions in web apps, supporting reordering in lists, tables, trees, grids, and kanban boards; it fits your search well, though its documentation should be checked for touch support, custom previews, and ARIA compliance.

    TypeScriptDrag AdaptersDrag Lifecycle EventsDrop Target Registries
    在 GitHub 上查看↗12,685
  • reppners/ngx-drag-dropreppners 的头像

    reppners/ngx-drag-drop

    332在 GitHub 上查看↗

    Angular directives using the native HTML Drag And Drop API

    This is an Angular-specific drag-and-drop library using the native HTML Drag and Drop API, so it fits the category but is not framework-agnostic and may lack touch support and other desired features.

    TypeScriptDrag and Drop
    在 GitHub 上查看↗332
  • alex-fun/vue-drag-and-drop-listAlex-fun 的头像

    Alex-fun/vue-drag-and-drop-list

    327在 GitHub 上查看↗

    🐴 Vue directives for modifying lists with the HTML5 drag & drop API.

    This Vue directive library provides drag-and-drop list reordering using the HTML5 API, fitting your search for a drag-and-drop library, but it is Vue-specific and list-focused, so it may lack the framework-agnostic support and advanced features like touch devices or drag handles you wanted.

    JavaScriptUIUI Components
    在 GitHub 上查看↗327
一览前 10 名对比
仓库Star 数语言许可证最后推送
sortablejs/sortable31.1KJavaScriptMIT2026年3月24日
rubaxa/sortable31.1KJavaScriptMIT2026年3月24日
mzabriskie/react-draggable9.3KJavaScriptMIT2026年5月29日
clauderic/dnd-kit17.2KTypeScriptMIT2026年6月11日
david-desmaisons/vue.draggable20.6KJavaScriptMIT2024年3月4日
bevacqua/dragula22.2KJavaScriptMIT2024年6月7日
clauderic/react-sortable-hoc10.9KJavaScriptmit2023年9月13日
atlassian/react-beautiful-dnd34KJavaScriptother2025年8月18日
gridstack/gridstack.js9KTypeScriptMIT2026年6月22日
marceljuenemann/angular-drag-and-drop-lists2.1KJavaScriptMIT2023年9月22日

Related searches

  • React 拖拽交互库
  • File upload library
  • a library for processing digital documents
  • a reusable tree view component for web
  • 拖拽式网站构建工具
  • State management library
  • a color picker library for web development
  • an open source browser tab manager