Sha256: 5bbaa835bff63371878ed000941f2f08bc63002da84fb1f5331371fb462cd62e

Contents?: true

Size: 1004 Bytes

Versions: 7

Compression:

Stored size: 1004 Bytes

Contents

/*
---

name: Touch

description: Provides a custom touch event on mobile devices

authors: Christoph Pojer (@cpojer)

license: MIT-style license.

requires: [Core/Element.Event, Custom-Event/Element.defineCustomEvent, Browser.Features.Touch]

provides: Touch

...
*/

(function(){

var preventDefault = function(event){
	event.preventDefault();
};

var disabled;

Element.defineCustomEvent('touch', {

	base: 'touchend',

	condition: function(event){
		if (disabled || event.targetTouches.length != 0) return false;

		var touch = event.changedTouches[0],
			target = document.elementFromPoint(touch.clientX, touch.clientY);

		do {
			if (target == this) return true;
		} while ((target = target.parentNode) && target);

		return false;
	},

	onSetup: function(){
		this.addEvent('touchstart', preventDefault);
	},

	onTeardown: function(){
		this.removeEvent('touchstart', preventDefault);
	},

	onEnable: function(){
		disabled = false;
	},

	onDisable: function(){
		disabled = true;
	}

});

})();

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
lsd_rails-0.1.6 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1.5 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1.4 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1.3 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1.2 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1.1 Packages/mootools-mobile/Source/Touch/Touch.js
lsd_rails-0.1 Packages/mootools-mobile/Source/Touch/Touch.js