fix issue with click event target on overview slides
This commit is contained in:
		
							
								
								
									
										25
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -102,6 +102,9 @@ var Reveal = (function(){
 | 
				
			|||||||
		// Delays updates to the URL due to a Chrome thumbnailer bug
 | 
							// Delays updates to the URL due to a Chrome thumbnailer bug
 | 
				
			||||||
		writeURLTimeout = 0,
 | 
							writeURLTimeout = 0,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// A delay used to ativate the overview mode
 | 
				
			||||||
 | 
							activateOverviewTimeout = 0,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Holds information about the currently ongoing touch input
 | 
							// Holds information about the currently ongoing touch input
 | 
				
			||||||
		touch = {
 | 
							touch = {
 | 
				
			||||||
			startX: 0,
 | 
								startX: 0,
 | 
				
			||||||
@@ -575,10 +578,12 @@ var Reveal = (function(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			dom.wrapper.classList.add( 'overview' );
 | 
								dom.wrapper.classList.add( 'overview' );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								clearTimeout( activateOverviewTimeout );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Not the pretties solution, but need to let the overview 
 | 
								// Not the pretties solution, but need to let the overview 
 | 
				
			||||||
			// class apply first so that slides are measured accurately 
 | 
								// class apply first so that slides are measured accurately 
 | 
				
			||||||
			// before we can positon them
 | 
								// before we can positon them
 | 
				
			||||||
			setTimeout( function(){
 | 
								activateOverviewTimeout = setTimeout( function(){
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
 | 
									var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -643,6 +648,8 @@ var Reveal = (function(){
 | 
				
			|||||||
		// Only proceed if enabled in config
 | 
							// Only proceed if enabled in config
 | 
				
			||||||
		if( config.overview ) {
 | 
							if( config.overview ) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								clearTimeout( activateOverviewTimeout );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			dom.wrapper.classList.remove( 'overview' );
 | 
								dom.wrapper.classList.remove( 'overview' );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Select all slides
 | 
								// Select all slides
 | 
				
			||||||
@@ -651,6 +658,8 @@ var Reveal = (function(){
 | 
				
			|||||||
			for( var i = 0, len = slides.length; i < len; i++ ) {
 | 
								for( var i = 0, len = slides.length; i < len; i++ ) {
 | 
				
			||||||
				var element = slides[i];
 | 
									var element = slides[i];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									element.style.display = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				// Resets all transforms to use the external styles
 | 
									// Resets all transforms to use the external styles
 | 
				
			||||||
				element.style.WebkitTransform = '';
 | 
									element.style.WebkitTransform = '';
 | 
				
			||||||
				element.style.MozTransform = '';
 | 
									element.style.MozTransform = '';
 | 
				
			||||||
@@ -658,7 +667,7 @@ var Reveal = (function(){
 | 
				
			|||||||
				element.style.OTransform = '';
 | 
									element.style.OTransform = '';
 | 
				
			||||||
				element.style.transform = '';
 | 
									element.style.transform = '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				element.removeEventListener( 'click', onOverviewSlideClicked );
 | 
									element.removeEventListener( 'click', onOverviewSlideClicked, true );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			slide( indexh, indexv );
 | 
								slide( indexh, indexv );
 | 
				
			||||||
@@ -1534,12 +1543,20 @@ var Reveal = (function(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			deactivateOverview();
 | 
								deactivateOverview();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			var h = parseInt( event.target.getAttribute( 'data-index-h' ), 10 ),
 | 
								var element = event.target;
 | 
				
			||||||
				v = parseInt( event.target.getAttribute( 'data-index-v' ), 10 );
 | 
					
 | 
				
			||||||
 | 
								while( element && !element.nodeName.match( /section/gi ) ) {
 | 
				
			||||||
 | 
									element = element.parentNode;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if( element.nodeName.match( /section/gi ) ) {
 | 
				
			||||||
 | 
									var h = parseInt( element.getAttribute( 'data-index-h' ), 10 ),
 | 
				
			||||||
 | 
										v = parseInt( element.getAttribute( 'data-index-v' ), 10 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				slide( h, v );
 | 
									slide( h, v );
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// --------------------------------------------------------------------//
 | 
						// --------------------------------------------------------------------//
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user