This commit is contained in:
57
node_modules/licia/emulateTouch.js
generated
vendored
Normal file
57
node_modules/licia/emulateTouch.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
var trigger = require('./trigger');
|
||||
var root = require('./root');
|
||||
var hasTouchSupport = 'ontouchstart' in root;
|
||||
exports = function() {
|
||||
var el =
|
||||
arguments.length > 0 && arguments[0] !== undefined
|
||||
? arguments[0]
|
||||
: document;
|
||||
if (hasTouchSupport) return;
|
||||
if (el._isEmulated) return;
|
||||
el._isEmulated = true;
|
||||
el.addEventListener('mousedown', onMouse('touchstart'), true);
|
||||
el.addEventListener('mousemove', onMouse('touchmove'), true);
|
||||
el.addEventListener('mouseup', onMouse('touchend'), true);
|
||||
};
|
||||
function onMouse(type) {
|
||||
return function(e) {
|
||||
if (e.which !== 1) return;
|
||||
trigger(e.target, type, {
|
||||
altKey: e.altKey,
|
||||
ctrlKey: e.ctrlKey,
|
||||
metaKey: e.metaKey,
|
||||
shiftKey: e.shiftKey,
|
||||
touches: getActiveTouches(e),
|
||||
targetTouches: getActiveTouches(e),
|
||||
changedTouches: createTouchList(e)
|
||||
});
|
||||
};
|
||||
}
|
||||
function getActiveTouches(e) {
|
||||
if (e.type == 'mouseup') return createTouchList();
|
||||
return createTouchList(e);
|
||||
}
|
||||
function Touch(target, identifier, pos, deltaX, deltaY) {
|
||||
deltaX = deltaX || 0;
|
||||
deltaY = deltaY || 0;
|
||||
this.identifier = identifier;
|
||||
this.target = target;
|
||||
this.clientX = pos.clientX + deltaX;
|
||||
this.clientY = pos.clientY + deltaY;
|
||||
this.screenX = pos.screenX + deltaX;
|
||||
this.screenY = pos.screenY + deltaY;
|
||||
this.pageX = pos.pageX + deltaX;
|
||||
this.pageY = pos.pageY + deltaY;
|
||||
}
|
||||
function createTouchList(e) {
|
||||
var touchList = [];
|
||||
touchList.item = function(index) {
|
||||
return this[index] || null;
|
||||
};
|
||||
if (e) {
|
||||
touchList.push(new Touch(e.target, 1, e, 0, 0));
|
||||
}
|
||||
return touchList;
|
||||
}
|
||||
|
||||
module.exports = exports;
|
||||
Reference in New Issue
Block a user