Explorar o código

prevent overview click events after calling Reveal.removeEventListeners

Hakim El Hattab %!s(int64=11) %!d(string=hai) anos
pai
achega
40759435e4
Modificáronse 2 ficheiros con 9 adicións e 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();

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
js/reveal.min.js


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio