fixed bug in swipe gesture interacting with links.
This commit is contained in:
		
							
								
								
									
										45
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -26,7 +26,7 @@ var Reveal = (function(){
 | 
				
			|||||||
			rollingLinks: true,
 | 
								rollingLinks: true,
 | 
				
			||||||
			transition: 'default',
 | 
								transition: 'default',
 | 
				
			||||||
			theme: 'default',
 | 
								theme: 'default',
 | 
				
			||||||
			swipeDistance: 30
 | 
								swipeDist: 30
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Slides may hold a data-state attribute which we pick up and apply 
 | 
							// Slides may hold a data-state attribute which we pick up and apply 
 | 
				
			||||||
@@ -241,22 +241,15 @@ var Reveal = (function(){
 | 
				
			|||||||
	 var touchStart = {}
 | 
						 var touchStart = {}
 | 
				
			||||||
	 var gesture = false;
 | 
						 var gesture = false;
 | 
				
			||||||
	function onDocumentTouchStart( event ) {
 | 
						function onDocumentTouchStart( event ) {
 | 
				
			||||||
		// We're only interested in one point taps
 | 
								
 | 
				
			||||||
		if (event.touches.length === 1) {
 | 
							touchStart = {
 | 
				
			||||||
			// Never prevent taps on anchors and images
 | 
								x: event.touches[0].clientX,
 | 
				
			||||||
			if( event.target.tagName.toLowerCase() === 'a' || event.target.tagName.toLowerCase() === 'img' ) {
 | 
								y: event.touches[0].clientY
 | 
				
			||||||
				return;
 | 
							};
 | 
				
			||||||
 | 
							if( event.target.tagName.toLowerCase() === 'a' || event.target.tagName.toLowerCase() === 'img' ) {
 | 
				
			||||||
 | 
								} else { 
 | 
				
			||||||
 | 
									event.preventDefault(); 
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			event.preventDefault();
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			touchStart = {
 | 
					 | 
				
			||||||
				x: event.touches[0].clientX,
 | 
					 | 
				
			||||||
				y: event.touches[0].clientY
 | 
					 | 
				
			||||||
			};
 | 
					 | 
				
			||||||
			
 | 
					 | 
				
			||||||
			slide();
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	function onDocumentTouchMove( event ) {
 | 
						function onDocumentTouchMove( event ) {
 | 
				
			||||||
@@ -268,27 +261,28 @@ var Reveal = (function(){
 | 
				
			|||||||
					x: event.touches[0].clientX,
 | 
										x: event.touches[0].clientX,
 | 
				
			||||||
					y: event.touches[0].clientY
 | 
										y: event.touches[0].clientY
 | 
				
			||||||
				};
 | 
									};
 | 
				
			||||||
			if((touch.x - touchStart.x) > config.swipeDistance){
 | 
								if((touch.x - touchStart.x) > config.swipeDist){
 | 
				
			||||||
				gesture = true;
 | 
									gesture = true;
 | 
				
			||||||
				navigateLeft();
 | 
									navigateLeft();
 | 
				
			||||||
			} else if((touch.x - touchStart.x) < -config.swipeDistance){
 | 
								} else if((touch.x - touchStart.x) < -config.swipeDist){
 | 
				
			||||||
				gesture = true;
 | 
									gesture = true;
 | 
				
			||||||
				navigateRight();
 | 
									navigateRight();
 | 
				
			||||||
			} else if((touch.y - touchStart.y) > config.swipeDistance){
 | 
								} else if((touch.y - touchStart.y) > config.swipeDist){
 | 
				
			||||||
				gesture = true;
 | 
									gesture = true;
 | 
				
			||||||
				navigateUp();
 | 
									navigateUp();
 | 
				
			||||||
			} else if((touch.y - touchStart.y) < -config.swipeDistance){
 | 
								} else if((touch.y - touchStart.y) < -config.swipeDist){
 | 
				
			||||||
				gesture = true;
 | 
									gesture = true;
 | 
				
			||||||
				navigateDown();
 | 
									navigateDown();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	function onDocumentTouchEnd( event ) {
 | 
						function onDocumentTouchEnd( event ) {
 | 
				
			||||||
		
 | 
							if(!gesture){
 | 
				
			||||||
		event.preventDefault();
 | 
								// Never prevent taps on anchors and images
 | 
				
			||||||
		
 | 
								if( event.target.tagName.toLowerCase() === 'a' || event.target.tagName.toLowerCase() === 'img' ) {
 | 
				
			||||||
		if(!gesture){//only check for control tap if no gesture is performed
 | 
									return;
 | 
				
			||||||
		
 | 
								}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
			// Define the extent of the areas that may be tapped
 | 
								// Define the extent of the areas that may be tapped
 | 
				
			||||||
			// to navigate
 | 
								// to navigate
 | 
				
			||||||
			var wt = window.innerWidth * 0.3;
 | 
								var wt = window.innerWidth * 0.3;
 | 
				
			||||||
@@ -308,6 +302,7 @@ var Reveal = (function(){
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		gesture = false;
 | 
							gesture = false;
 | 
				
			||||||
 | 
							event.preventDefault();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/**
 | 
						/**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user