Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/heyman/jquery-draggable-touch

Make HTML elements draggable using touch events
https://github.com/heyman/jquery-draggable-touch

Last synced: 1 day ago
JSON representation

Make HTML elements draggable using touch events

Awesome Lists containing this project

README

        

jQuery Draggable Touch
======================

Make HTML elements draggable, and supports multi touch. Main implementation uses
touch events, but the plugin also has a fallback that uses mouse events.

The main reason that this plugin exist is that there are currently no
good jQuery plugin for making elements draggable, that has touch devices
as it's main target (at least that I know of). `jQuery UI `_
has a draggable plugin which, together with `jQuery UI Touch Punch `_,
can be used to make elements draggable on touch devices. However, due to
Touch Punch generating fake mouse events, and jQuery UI's draggable plugin, using these fake
mouse events when dragging elements, it's error prone and contains weird bugs.

I decided it was simpler to just write a draggable plugin whose main target
was touch devices, and that uses touch events (even though it still has a
fallback on mouseevents when the browser/device doesn't support touch events).

Features
--------

* Main target is touch devices
* Small and simple
* Supports dragging multiple elements at the same time

Usage example
-------------

::

$(".my-draggables")
.draggableTouch()
.bind("dragstart", function(event, pos) {
console.log("drag started on:", this, "at position:", pos);
})
.bind("dragend", function(event, pos) {
console.log("drag ended on:", this, "at position:", pos);
});

Set the position using :code:`transform` CSS property instead of :code:`left` and :code:`top`::

$(".my-draggables").draggableTouch({useTransform:true});

To disable dragability::

$(".my-draggables").draggableTouch("disable");

See example
-----------

`Here `_ is a super simple
- and frankly quite ugly - example page.

Copyright & License
-------------------

This plugin is written by `Jonatan Heyman `_ and is licenced as
`Beerware `_.