taye/interact.js

JavaScript drag and drop, resizing and multi-touch gestures with inertia and snapping for modern browsers (and also IE9+)

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 6 minutes ago
Added to GitGenius on September 4th, 2026
Created on October 21st, 2012
Open Issues & Pull Requests: 95 (+0)
GitHub issues: Enabled
Number of forks: 803
Total Stargazers: 12,929 (+0)
Total Subscribers: 193 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.8 days
Mean response time: 172.0 days
90th percentile: 556.8 days
Tracked items: 18

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 17
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 642 days
Stale 30+ days: 17
Stale 90+ days: 16

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • wontfix (2)
  • stale (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

interact.js is a JavaScript library that provides drag and drop, resizing, and multi-touch gesture handling with inertia and snapping for modern browsers and Internet Explorer 9 and above.

The library solves the problem of implementing complex pointer interactions across diverse devices and browsers. It handles drag operations, element resizing, and multi-touch gestures while supporting physics-based features like inertia and snap-to-grid positioning. The tool works as a standalone library that does not modify the DOM except to change the cursor, allowing developers to maintain full control over their interface behavior.

Developers should choose this tool when building interactive web applications that require sophisticated gesture support across desktop and mobile platforms. It suits projects needing multi-touch capabilities, physics-based animations, or precise control over drag and resize interactions. The library works with SVG elements and maintains broad browser compatibility, making it appropriate for applications targeting older environments alongside modern ones.

The project maintains active development with passing builds and test coverage tracking. The codebase is written in TypeScript with type definitions included in the npm package, supporting developers using typed JavaScript. The tool is distributed through multiple channels including npm, CDN services, and package managers for Rails and JVM-based frameworks, indicating sustained maintenance across different integration paths.