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

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

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

taye/interact.js

0
View on GitHub↗
12,913 星标·806 分支·TypeScript·MIT·2 次浏览interactjs.io↗

Interact.js

interact.js 是一个 JavaScript 交互库,用于在 Web 浏览器中实现拖放、调整大小和多点触控手势。它为可缩放矢量图形(SVG)提供了一个专门的交互框架,允许移动和调整这些元素的大小。

该库具有一个多点触控手势引擎,可识别捏合和旋转等复杂模式,以及一个用于将元素对齐到网格或限制在边界内移动的坐标吸附引擎。它还包括一个跨帧状态同步器,用于在多个浏览器窗口或嵌入式帧之间共享交互状态和输入事件。

该项目涵盖了广泛的能力领域,包括用于基于惯性的速度计算的运动物理学,以及用于统一跨浏览器鼠标和触摸事件的输入归一化。附加功能包括基于坐标的状态跟踪和用于将位置和大小对齐到预定义间隔的量化吸附。

Features

  • Drag and Drop - Provides a comprehensive framework for implementing drag-and-drop interfaces with support for inertia and boundaries.
  • Interactive Element Dragging - Enables moving elements across a screen with support for snapping and inertia.
  • Interactive SVG Elements - Provides specialized tools to make SVG elements interactive through drag and resize capabilities.
  • Drag and Drop Libraries - Provides a specialized library for implementing drag-and-drop, resizing, and multi-touch gestures in the browser.
  • Movement Constraints - Applies restrictions to element movement, including axis locking and boundary clamping.
  • Input Normalization Utilities - Unifies disparate mouse and touch pointer events into a consistent coordinate stream for cross-browser compatibility.
  • Element Resizers - Provides utilities for interactively updating the bounding box dimensions of web elements.
  • Grid Snapping - Aligns element positions and sizes to configurable grid increments during interactive movement or resizing.
  • Interaction Coordinate Snapping - Provides a mechanism for aligning moving elements to grids or restricting movement boundaries.
  • Multi-Touch Gesture Detections - Recognizes complex multi-touch patterns including pinch and rotate for web applications.
  • Multi-Touch Gesture Systems - Processes simultaneous multi-finger inputs to recognize complex patterns like pinch and rotate.
  • Boundary Constraints - Implements logic to restrict the movement of elements within defined containers or viewport areas.
  • Event Normalizers - Translates native browser mouse and touch events into a unified internal coordinate system.
  • Resize Mapping Logic - Provides logic that translates interactions on specific element perimeters into dimensional changes.
  • Inertia Calculations - Computes movement decay based on input velocity to simulate natural physical momentum and smooth sliding.
  • Spatial State Tracking - Tracks real-time X and Y coordinates of elements to maintain an accurate internal state of position and size.
  • Coordinate Quantization - Rounds raw interaction coordinates to predefined intervals to ensure precise alignment of UI components.
  • Cross-Frame Interaction Synchronization - Shares real-time interaction states and input events across multiple browser windows or embedded frames.
  • Mobile Web Libraries - Library for drag, drop, and multi-touch gesture interactions.

Star 历史

taye/interact.js 的 Star 历史图表taye/interact.js 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Interact.js 的开源替代方案

相似的开源项目,按与 Interact.js 的功能重合度排序。
  • react-grid-layout/react-draggablereact-grid-layout 的头像

    react-grid-layout/react-draggable

    9,292在 GitHub 上查看↗

    react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions. The library provides touch-enabled interaction tools that unify pointer events across desktop browsers and touch screen devices. It utilizes CSS transforms to handle element movement and coordinate tracking. The system covers movement constraints such as axis restriction and boundary clamping to confine elements within specific areas. It includes posit

    JavaScript
    在 GitHub 上查看↗9,292
  • desandro/draggabillydesandro 的头像

    desandro/draggabilly

    3,871在 GitHub 上查看↗

    Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves as a coordinate-based UI tool and interaction library for tracking and setting the horizontal and vertical positions of interface elements during user interaction. The library provides a mobile-ready touch handler that converts mouse and touch movements into element translation. It includes specialized capabilities for restricting movement to specific axes or container boundaries and implements grid snapping to align elements to a predefined pixel grid. The tool manages the

    JavaScript
    在 GitHub 上查看↗3,871
  • northwoodssoftware/gojsNorthwoodsSoftware 的头像

    NorthwoodsSoftware/GoJS

    8,447在 GitHub 上查看↗

    GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a

    HTMLcanvaschartcharts
    在 GitHub 上查看↗8,447
  • daybrush/moveabledaybrush 的头像

    daybrush/moveable

    10,720在 GitHub 上查看↗

    Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!

    TypeScriptdraggablegroupablemovable
    在 GitHub 上查看↗10,720
查看 Interact.js 的所有 30 个替代方案→

常见问题解答

taye/interact.js 是做什么的?

interact.js 是一个 JavaScript 交互库,用于在 Web 浏览器中实现拖放、调整大小和多点触控手势。它为可缩放矢量图形(SVG)提供了一个专门的交互框架,允许移动和调整这些元素的大小。

taye/interact.js 的主要功能有哪些?

taye/interact.js 的主要功能包括:Drag and Drop, Interactive Element Dragging, Interactive SVG Elements, Drag and Drop Libraries, Movement Constraints, Input Normalization Utilities, Element Resizers, Grid Snapping。

taye/interact.js 有哪些开源替代品?

taye/interact.js 的开源替代品包括: react-grid-layout/react-draggable — react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a… desandro/draggabilly — Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves… northwoodssoftware/gojs — GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts,… daybrush/moveable — Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable! mzabriskie/react-draggable — react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement… ksylvest/jquery-gridly — This project is a jQuery plugin designed for creating responsive grid interfaces that support interactive…