PHPackages                             politsin/jquery-ui-touch-punch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. politsin/jquery-ui-touch-punch

ActiveDrupal-library[Utility &amp; Helpers](/categories/utility)

politsin/jquery-ui-touch-punch
==============================

Extension to jQuery UI for mobile touch event support.

1.0(5y ago)615.2M—9%1MIT

Since Dec 15Pushed 5y ago1 watchersCompare

[ Source](https://github.com/politsin/jquery-ui-touch-punch)[ Packagist](https://packagist.org/packages/politsin/jquery-ui-touch-punch)[ Docs](http://touchpunch.furf.com/)[ RSS](/packages/politsin-jquery-ui-touch-punch/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (1)

jQuery UI Touch Punch
=====================

[](#jquery-ui-touch-punch)

Touch Event Support for jQuery UI
---------------------------------

[](#touch-event-support-for-jquery-ui)

> **jQuery UI Touch Punch is a small hack that enables the use of touch events on sites using the jQuery UI user interface library.**

*[Visit the official Touch Punch website](http://touchpunch.furf.com).*

Currently, [jQuery UI](http://jqueryui.com/) user interface library does not support the use of touch events in their widgets and interactions. This means that the slick UI you designed and tested in your desktop browser will fail on most, if not all, touch-enabled mobile devices, because jQuery UI listens to mouse events—mouseover, mousemove and mouseout—not touch events—touchstart, touchmove and touchend.

That's where jQuery UI Touch Punch comes in. Touch Punch works by using [simulated events](https://developer.mozilla.org/en/DOM/document.createEvent) to map [touch events](http://www.html5rocks.com/en/mobile/touch/) to their mouse event analogs. Simply include the script on your page and your touch events will be turned into their corresponding mouse events to which jQuery UI will respond as expected.

As I said, Touch Punch is a hack. It [duck punches](http://en.wikipedia.org/wiki/Monkey_patch) some of jQuery UI's core functionality to handle the mapping of touch events. Touch Punch works with all basic implementations of jQuery UI's interactions and widgets. However, you may find more complex cases where Touch Punch fails. If so, scroll down to learn how you can file and/or fix issues.

This code is dual licensed under the MIT or GPL Version 2 licenses and is therefore free to use, modify and/or distribute, but if you include Touch Punch in other software packages or plugins, please include an attribution to the original software and a link to [this Touch Punch website](http://touchpunch.furf.com/).

Using Touch Punch is as easy as 1, 2…
-------------------------------------

[](#using-touch-punch-is-as-easy-as-1-2)

Just follow these simple steps to enable touch events in your jQuery UI app:

1. Include jQuery and jQuery UI on your page.

    ```

    ```
2. Include Touch Punch after jQuery UI and before its first use.

    Please note that if you are using jQuery UI's components, Touch Punch must be included after jquery.ui.mouse.js, as Touch Punch modifies its behavior.

    ```

    ```
3. There is no 3. Just use jQuery UI as expected and watch it work at the touch of a finger.

    ```
    $('#widget').draggable();
    ```

*Tested on iPad, iPhone, Android and other touch-enabled mobile devices.*

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity51

Moderate usage in the ecosystem

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1980d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/aabe2d05e960df385303fa96023376df9a8ab922c790f61ec22dfc659bad59a1?d=identicon)[politsin](/maintainers/politsin)

---

Top Contributors

[![politsin](https://avatars.githubusercontent.com/u/1288264?v=4)](https://github.com/politsin "politsin (2 commits)")

---

Tags

mobiletouchgestures

### Embed Badge

![Health badge](/badges/politsin-jquery-ui-touch-punch/health.svg)

```
[![Health](https://phpackages.com/badges/politsin-jquery-ui-touch-punch/health.svg)](https://phpackages.com/packages/politsin-jquery-ui-touch-punch)
```

###  Alternatives

[mobiledetect/mobiledetectlib

Mobile\_Detect is a lightweight PHP class for detecting mobile devices. It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment.

10.7k159.4M431](/packages/mobiledetect-mobiledetectlib)[jenssegers/agent

Desktop/mobile user agent parser with support for Laravel, based on Mobiledetect

4.8k67.8M440](/packages/jenssegers-agent)[hisorange/browser-detect

Browser &amp; Mobile detection package for Laravel.

1.1k10.1M50](/packages/hisorange-browser-detect)[suncat/mobile-detect-bundle

Symfony2/3/4 bundle for detect mobile devices, managing mobile view types, redirect to mobile version.

4035.3M7](/packages/suncat-mobile-detect-bundle)[lullabot/amp

A set of useful classes and utilities to convert html to AMP html (See https://www.ampproject.org/)

3802.9M10](/packages/lullabot-amp)[eo/passbook

iOS Passbook for PHP

2651.6M2](/packages/eo-passbook)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
