55 lines
1.0 KiB
JavaScript
55 lines
1.0 KiB
JavaScript
/*
|
|
---
|
|
description: A MooTools plugin that automatically map mouse events to touch events
|
|
|
|
license: MIT-style
|
|
|
|
authors:
|
|
- Chi Wai Lau (http://tabqwert.com)
|
|
- Scott Kyle (http://appden.com)
|
|
|
|
requires:
|
|
- core/1.2.4: '*'
|
|
|
|
provides: [Mouse2Touch]
|
|
...
|
|
*/
|
|
|
|
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {
|
|
|
|
(function() {
|
|
try {
|
|
document.createEvent("TouchEvent");
|
|
} catch(e) {
|
|
return;
|
|
}
|
|
|
|
['touchstart', 'touchmove', 'touchend'].each(function(type){
|
|
Element.NativeEvents[type] = 2;
|
|
});
|
|
|
|
var mapping = {
|
|
'mousedown': 'touchstart',
|
|
'mousemove': 'touchmove',
|
|
'mouseup': 'touchend'
|
|
};
|
|
|
|
var condition = function(event) {
|
|
var touch = event.event.changedTouches[0];
|
|
event.page = {
|
|
x: touch.pageX,
|
|
y: touch.pageY
|
|
};
|
|
return true;
|
|
};
|
|
|
|
for (var e in mapping) {
|
|
Element.Events[e] = {
|
|
base: mapping[e],
|
|
condition: condition
|
|
};
|
|
}
|
|
})();
|
|
|
|
}
|