Add hammer.js

This commit is contained in:
Boris Yankov 2012-12-23 18:05:19 +02:00
parent bd0179c363
commit 6b738d15be
3 changed files with 106 additions and 0 deletions

View File

@ -25,6 +25,7 @@ Complete
* [Foundation](http://foundation.zurb.com/) (by [Boris Yankov](https://github.com/borisyankov))
* [GoogleMaps](https://developers.google.com/maps/) (by [Esben Nepper](https://github.com/eNepper))
* [Handlebars](http://handlebarsjs.com/) (by [Boris Yankov](https://github.com/borisyankov))
* [Hammer.js](http://eightmedia.github.com/hammer.js/) (by [Boris Yankov](https://github.com/borisyankov))
* [Highcharts](http://www.highcharts.com/) (by [damianog](https://github.com/damianog))
* [History.js](https://github.com/balupton/History.js/) (by [Boris Yankov](https://github.com/borisyankov))
* [Humane.js](http://wavded.github.com/humane-js/) (by [John Vrbanac](https://github.com/jmvrbanac))

73
hammerjs/hammerjs-0.6.d.ts vendored Normal file
View File

@ -0,0 +1,73 @@
// Type definitions for Hammer.js 0.6
// Project: http://eightmedia.github.com/hammer.js/
// Definitions by: Boris Yankov <https://github.com/borisyankov/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../jquery/jquery-1.8.d.ts"/>
interface HammerOptions {
prevent_default?: bool;
css_hacks?: bool;
swipe?: bool;
swipe_time?: number;
swipe_min_distance?: number;
drag?: bool;
drag_vertical?: bool;
drag_horizontal?: bool;
drag_min_distance?: number;
transform?: bool;
scale_treshold?: number;
rotation_treshold?: number;
tap?: bool;
tap_double?: bool;
tap_max_interval?: number;
tap_max_distance?: number;
tap_double_distance?: number;
hold?: bool;
hold_timeout?: number;
}
interface HammerPoint {
x: number;
y: number;
}
interface HammerEvent {
originalEvent: Event;
position: HammerPoint;
touches: HammerPoint[];
}
interface HammertTransformEvent extends HammerEvent {
scale: number;
rotation: number;
}
interface HammerDirectionEvent extends HammerEvent {
angle: number;
direction: string;
distance: number;
distanceX: number;
distanceY: number;
}
class Hammer {
constructor (element: any, options?: HammerOptions);
ondragstart: (event: HammerDirectionEvent) => void;
ondrag: (event: HammerDirectionEvent) => void;
ondragend: (event: HammerDirectionEvent) => void;
onswipe: (event: HammerDirectionEvent) => void;
ontap: (event: HammerEvent) => void;
ondoubletap: (event: HammerEvent) => void;
onhold: (event: HammerEvent) => void;
ontransformstart: (event: HammertTransformEvent) => void;
ontransform: (event: HammertTransformEvent) => void;
ontransformend: (event: HammertTransformEvent) => void;
onrelease: (event: HammerEvent) => void;
}
interface JQuery {
hammer(options?: HammerOptions): JQuery;
}

View File

@ -0,0 +1,32 @@
/// <reference path="../jquery/jquery-1.8.d.ts"/>
/// <reference path="hammerjs-0.6.d.ts" />
var hammer = new Hammer(document.getElementById("container"));
hammer.ondragstart = function (ev) { };
hammer.ondrag = function (ev) { };
hammer.ondragend = function (ev) { };
hammer.onswipe = function (ev) { };
hammer.ontap = function (ev) { };
hammer.ondoubletap = function (ev) { };
hammer.onhold = function (ev) { };
hammer.ontransformstart = function (ev) { };
hammer.ontransform = function (ev) { };
hammer.ontransformend = function (ev) { };
hammer.onrelease = function (ev) { };
$("#element")
.hammer({
// Options
})
.bind("tap", function (ev) {
console.log(ev);
});
$("#container").hammer({
prevent_default: false,
drag_vertical: false
}).bind("hold tap doubletap transformstart transform transformend dragstart drag dragend release swipe", function (ev) {
});