Преглед на файлове

'keyboard' config option for disabling keyboard navigation (closes #84)

Hakim El Hattab преди 12 години
родител
ревизия
0ef90e0dcf
променени са 2 файла, в които са добавени 12 реда и са изтрити 2 реда
  1. 5 1
      README.md
  2. 7 1
      js/reveal.js

+ 5 - 1
README.md

@@ -39,6 +39,9 @@ Reveal.initialize({
 	// Push each slide change to the browser history
 	history: false,
 
+	// Enable keyboard shortcuts for navigation
+	keyboard: true,
+
 	// Loop the presentation
 	loop: false,
 
@@ -168,7 +171,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 #### 1.4 (master/beta)
 - Main #reveal container is now selected via a class instead of ID
 - API methods for adding or removing all event listeners
-- The 'slidechange' event now includes currentSlide and previousSlide
+- The ```slidechange``` event now includes currentSlide and previousSlide
 - Fixed bug where 'slidechange' was firing twice when history was enabled
 - Folder structure updates for scalability (see /lib & /plugin)
 - Slide notes by [rmurphey](https://github.com/rmurphey)
@@ -177,6 +180,7 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 - Added 'autoSlide' config
 - Bug fix: The 'slidechanged' event is now firing upon 'hashchange'. Thanks [basecode](https://github.com/basecode)
 - Bug fix: JS error when the 'progress' option was true but there was no progress DOM element
+- ```keyboard``` config flag for disabling all keyboard navigation
 
 #### 1.3
 - Revised keyboard shortcuts, including ESC for overview, N for next, P for previous. Thanks [mahemoff](https://github.com/mahemoff)

+ 7 - 1
js/reveal.js

@@ -27,6 +27,9 @@ var Reveal = (function(){
 			// Push each slide change to the browser history
 			history: false,
 
+			// Enable keyboard shortcuts for navigation
+			keyboard: true,
+
 			// Loop the presentation
 			loop: false,
 
@@ -179,12 +182,15 @@ var Reveal = (function(){
 	}
 
 	function addEventListeners() {
-		document.addEventListener( 'keydown', onDocumentKeyDown, false );
 		document.addEventListener( 'touchstart', onDocumentTouchStart, false );
 		document.addEventListener( 'touchmove', onDocumentTouchMove, false );
 		document.addEventListener( 'touchend', onDocumentTouchEnd, false );
 		window.addEventListener( 'hashchange', onWindowHashChange, false );
 
+		if( config.keyboard ) {
+			document.addEventListener( 'keydown', onDocumentKeyDown, false );
+		}
+
 		if ( config.controls && dom.controls ) {
 			dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
 			dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );