Sha256: 096f96aa9c35478a990205fbfd94193f43a41669d81d7b20a7958f593cd6f186

Contents?: true

Size: 1.06 KB

Versions: 7

Compression:

Stored size: 1.06 KB

Contents

/*
---

name: Browser.Features.Touch

description: Checks whether the used Browser has touch events

authors: Christoph Pojer (@cpojer)

license: MIT-style license.

requires: [Core/Browser]

provides: Browser.Features.Touch

...
*/

if(!Browser.ie){
  Browser.Features.Touch = (function(){
  	try {
  		document.createEvent('TouchEvent').initTouchEvent('touchstart');
  		return true;
  	} catch (exception){}

  	return false;
  })();

  // Chrome 5 thinks it is touchy!
  // Android doesn't have a touch delay and dispatchEvent does not fire the handler
  Browser.Features.iOSTouch = (function(){
  	var name = 'cantouch', // Name does not matter
  		html = document.html,
  		hasTouch = false;

  	var handler = function(){
  		html.removeEventListener(name, handler, true);
  		hasTouch = true;
  	};

  	try {
  		html.addEventListener(name, handler, true);
  		var event = document.createEvent('TouchEvent');
  		event.initTouchEvent(name);
  		html.dispatchEvent(event);
  		return hasTouch;
  	} catch (exception){}

  	handler(); // Remove listener
  	return false;
  })();
};

Version data entries

7 entries across 7 versions & 1 rubygems

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