Skip to content

Commit f588be8

Browse files
committed
Add long tap event to gesture handler.
1 parent c8839db commit f588be8

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

tart/events.js

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ tart.events.EventType = {
2323
MOUSEENTER: 'mouseenter',
2424
MOUSELEAVE: 'mouseleave',
2525
TAP: 'tap',
26+
LONG_TAP: 'longTap',
2627
SWIPE_RIGHT: 'swipeRight',
2728
SWIPE_UP: 'swipeUp',
2829
SWIPE_LEFT: 'swipeLeft',

tart/events/GestureHandler.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ tart.events.GestureHandler.prototype.onTouchstart = function(e) {
6767
this.isInMotion = true;
6868
this.canTap = true;
6969
this.canSwipe = true;
70+
this.touchStartTime = new Date().getTime();
7071

7172
var browserEvent = e.getBrowserEvent();
7273
var changedTouch = browserEvent.changedTouches[0];
@@ -145,8 +146,10 @@ tart.events.GestureHandler.prototype.onTouchend = function(e) {
145146
return;
146147
}
147148

149+
var tapTimeDiff = new Date().getTime() - this.touchStartTime;
148150
var tap = document.createEvent("Event");
149-
tap.initEvent(tart.events.EventType.TAP, true, true);
151+
var eventName = tapTimeDiff > 800 ? tart.events.EventType.LONG_TAP : tart.events.EventType.TAP;
152+
tap.initEvent(eventName, true, true);
150153

151154
// Target element fix for iOS6+
152155
var targetElement = e.target;

tart/ui/ComponentManager.js

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ tart.ui.ComponentManager.eventTypes = [
7878
tart.events.EventType.MOUSEENTER,
7979
tart.events.EventType.MOUSELEAVE,
8080
tart.events.EventType.TAP,
81+
tart.events.EventType.LONG_TAP,
8182
tart.events.EventType.SWIPE_LEFT,
8283
tart.events.EventType.SWIPE_RIGHT,
8384
tart.events.EventType.SWIPE_UP,

0 commit comments

Comments
 (0)