OSDN Git Service

Version 0.6.191, fix X.UI.ScrollBox & X.UI.Gesture.
[pettanr/clientJs.git] / 0.6.x / js / 20_ui / 05_XUI_Gesture.js
index 3aab9e1..f8b9535 100644 (file)
@@ -323,7 +323,7 @@ if( type === XUI_Event.POINTER_OUT ) console.log( 'canceled ...' + e.button )
                        // store as previous event event\r
                        hammer.lastEvent = hammerEvent;\r
                        activated = hammer.activated;\r
-                       \r
+                       console.log( '... ' );\r
                        // call Hammer.gesture handlers\r
                        for( i = 0, l = gestures.length; i < l; ++i ){\r
                                gesture = gestures[ i ];\r
@@ -645,7 +645,6 @@ var XUI_Gesture_LIST = [
                startID  : XUI_Event.TAP,\r
                endID    : XUI_Event.DOUBLE_TAP,\r
                defaults : {\r
-                       tap_min_touchtime  : 75,\r
                        tap_max_touchtime  : 250,\r
                        tap_max_distance   : 3,\r
                        tap_always         : true,\r
@@ -656,21 +655,22 @@ var XUI_Gesture_LIST = [
                        // previous gesture, for the double tap since these are two different gesture detections\r
                        var prev = hammer.previous;\r
                        \r
+                       if( e.type === XUI_Event._POINTER_MOVE && hammer.options.tap_max_distance < e.distance ){\r
+                               hammer.canceled[ 'tap' ] = true;\r
+                       };\r
                        if( e.type === XUI_Event._POINTER_UP ){\r
                                // when the touchtime is higher then the max touch time\r
                                // or when the moving distance is too much\r
                                if( hammer.options.tap_max_touchtime < e.deltaTime || hammer.options.tap_max_distance < e.distance ) return;\r
-//console.log( ' rap? ' + e.deltaTime + 'ms' );\r
-                               //if( e.deltaTime < hammer.options.tap_min_touchtime ) return;\r
 \r
                                // check if double tap\r
                                if( prev && prev.currentName === 'tap' && ( e.timestamp - prev.lastEvent.timestamp ) < hammer.options.doubletap_interval && e.distance < hammer.options.doubletap_distance ){\r
                                        return hammer.trigger( XUI_Event.DOUBLE_TAP, e );\r
                                } else\r
                                // do a single tap\r
-                               if( hammer.options.tap_always && hammer.currentName !== 'tap' ){ // EventFire中にalert すると mouseleave で再び呼ばれるのを防ぐ\r
+                               if( hammer.options.tap_always ){\r
                                        //hammer.currentName = 'tap';\r
-                                       console.log( 'tap! ' + e.deltaTime + 'ms' );\r
+                                       console.log( 'tap! ' + e.deltaTime + 'ms ' + e.type );\r
                                        return hammer.trigger( XUI_Event.TAP, e );\r
                                };\r
                        };\r