Explorar el Código

prevent overview click events after calling Reveal.removeEventListeners

Hakim El Hattab hace 11 años
padre
commit
40759435e4
Se han modificado 2 ficheros con 9 adiciones y 2 borrados
  1. 8 1
      js/reveal.js
  2. 1 1
      js/reveal.min.js

+ 8 - 1
js/reveal.js

@@ -129,6 +129,9 @@ var Reveal = (function(){
 		// A delay used to deactivate the overview mode
 		deactivateOverviewTimeout = 0,
 
+		// Flags if the interaction event listeners are bound
+		eventsAreBound = false,
+
 		// Holds information about the currently ongoing touch input
 		touch = {
 			startX: 0,
@@ -390,6 +393,8 @@ var Reveal = (function(){
 	 */
 	function addEventListeners() {
 
+		eventsAreBound = true;
+
 		window.addEventListener( 'hashchange', onWindowHashChange, false );
 		window.addEventListener( 'resize', onWindowResize, false );
 
@@ -424,6 +429,8 @@ var Reveal = (function(){
 	 */
 	function removeEventListeners() {
 
+		eventsAreBound = false;
+
 		document.removeEventListener( 'keydown', onDocumentKeyDown, false );
 		window.removeEventListener( 'hashchange', onWindowHashChange, false );
 		window.removeEventListener( 'resize', onWindowResize, false );
@@ -1801,7 +1808,7 @@ var Reveal = (function(){
 
 		// TODO There's a bug here where the event listeners are not
 		// removed after deactivating the overview.
-		if( isOverview() ) {
+		if( eventsAreBound && isOverview() ) {
 			event.preventDefault();
 
 			deactivateOverview();

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
js/reveal.min.js


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio