@@ -82,8 +82,8 @@ export default class Carousel extends Component {
82
82
if ( this . node ) {
83
83
this . node . ownerDocument . addEventListener ( 'mousemove' , this . onMouseMove , true ) ;
84
84
this . node . ownerDocument . addEventListener ( 'mouseup' , this . onMouseUpTouchEnd , true ) ;
85
- this . node . ownerDocument . addEventListener ( 'touchstart' , this . onTouchStart , { passive : false } ) ;
86
- this . node . ownerDocument . addEventListener ( 'touchmove' , this . onTouchMove , true ) ;
85
+ this . node . ownerDocument . addEventListener ( 'touchstart' , this . onTouchStart , true ) ;
86
+ this . node . ownerDocument . addEventListener ( 'touchmove' , this . onTouchMove , { passive : false } ) ;
87
87
this . node . ownerDocument . addEventListener ( 'touchend' , this . onMouseUpTouchEnd , true ) ;
88
88
}
89
89
@@ -313,10 +313,6 @@ export default class Carousel extends Component {
313
313
* @param {number } index of the element drag started on
314
314
*/
315
315
onTouchStart = ( e , index ) => {
316
- if ( this . state . dragStart ) {
317
- e . preventDefault ( ) ;
318
- e . stopPropagation ( ) ;
319
- }
320
316
this . setState ( {
321
317
clicked : index ,
322
318
dragStart : e . changedTouches [ 0 ] . pageX ,
@@ -328,6 +324,10 @@ export default class Carousel extends Component {
328
324
* @param {event } e event
329
325
*/
330
326
onTouchMove = e => {
327
+ if ( Math . abs ( this . state . dragOffset ) > 10 ) {
328
+ e . preventDefault ( ) ;
329
+ e . stopPropagation ( ) ;
330
+ }
331
331
if ( this . state . dragStart !== null ) {
332
332
this . setState ( {
333
333
dragOffset : e . changedTouches [ 0 ] . pageX - this . state . dragStart ,
0 commit comments