merge support for ie 11 touch

This commit is contained in:
Hakim El Hattab 2013-12-02 23:20:26 +01:00
commit 4a5b5c7c11
4 changed files with 23 additions and 8 deletions

View File

@ -521,6 +521,7 @@ body {
height: 100%; height: 100%;
-ms-touch-action: none; -ms-touch-action: none;
touch-action: none;
} }
.reveal .slides { .reveal .slides {

2
css/reveal.min.css vendored

File diff suppressed because one or more lines are too long

View File

@ -637,11 +637,18 @@ var Reveal = (function(){
dom.wrapper.addEventListener( 'touchend', onTouchEnd, false ); dom.wrapper.addEventListener( 'touchend', onTouchEnd, false );
// Support pointer-style touch interaction as well // Support pointer-style touch interaction as well
if( window.navigator.msPointerEnabled ) { if( window.navigator.pointerEnabled ) {
// IE 11 uses un-prefixed version of pointer events
dom.wrapper.addEventListener( 'pointerdown', onPointerDown, false );
dom.wrapper.addEventListener( 'pointermove', onPointerMove, false );
dom.wrapper.addEventListener( 'pointerup', onPointerUp, false );
} else if( window.navigator.msPointerEnabled ) {
// IE 10 uses prefixed version of pointer events
dom.wrapper.addEventListener( 'MSPointerDown', onPointerDown, false ); dom.wrapper.addEventListener( 'MSPointerDown', onPointerDown, false );
dom.wrapper.addEventListener( 'MSPointerMove', onPointerMove, false ); dom.wrapper.addEventListener( 'MSPointerMove', onPointerMove, false );
dom.wrapper.addEventListener( 'MSPointerUp', onPointerUp, false ); dom.wrapper.addEventListener( 'MSPointerUp', onPointerUp, false );
} }
} }
if( config.keyboard ) { if( config.keyboard ) {
@ -696,11 +703,18 @@ var Reveal = (function(){
dom.wrapper.removeEventListener( 'touchmove', onTouchMove, false ); dom.wrapper.removeEventListener( 'touchmove', onTouchMove, false );
dom.wrapper.removeEventListener( 'touchend', onTouchEnd, false ); dom.wrapper.removeEventListener( 'touchend', onTouchEnd, false );
// IE10
if( window.navigator.msPointerEnabled ) { if( window.navigator.msPointerEnabled ) {
dom.wrapper.removeEventListener( 'MSPointerDown', onPointerDown, false ); dom.wrapper.removeEventListener( 'MSPointerDown', onPointerDown, false );
dom.wrapper.removeEventListener( 'MSPointerMove', onPointerMove, false ); dom.wrapper.removeEventListener( 'MSPointerMove', onPointerMove, false );
dom.wrapper.removeEventListener( 'MSPointerUp', onPointerUp, false ); dom.wrapper.removeEventListener( 'MSPointerUp', onPointerUp, false );
} }
// IE11
if( window.navigator.pointerEnabled ) {
dom.wrapper.removeEventListener( 'pointerdown', onPointerDown, false );
dom.wrapper.removeEventListener( 'pointermove', onPointerMove, false );
dom.wrapper.removeEventListener( 'pointerup', onPointerUp, false );
}
if ( config.progress && dom.progress ) { if ( config.progress && dom.progress ) {
dom.progress.removeEventListener( 'click', onProgressClicked, false ); dom.progress.removeEventListener( 'click', onProgressClicked, false );
@ -2877,7 +2891,7 @@ var Reveal = (function(){
*/ */
function onPointerDown( event ) { function onPointerDown( event ) {
if( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) { if(( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) || ( event.pointerType === "touch" )) {
event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; event.touches = [{ clientX: event.clientX, clientY: event.clientY }];
onTouchStart( event ); onTouchStart( event );
} }
@ -2889,7 +2903,7 @@ var Reveal = (function(){
*/ */
function onPointerMove( event ) { function onPointerMove( event ) {
if( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) { if(( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) || ( event.pointerType === "touch" )) {
event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; event.touches = [{ clientX: event.clientX, clientY: event.clientY }];
onTouchMove( event ); onTouchMove( event );
} }
@ -2901,7 +2915,7 @@ var Reveal = (function(){
*/ */
function onPointerUp( event ) { function onPointerUp( event ) {
if( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) { if(( event.pointerType === event.MSPOINTER_TYPE_TOUCH ) || ( event.pointerType === "touch" )) {
event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; event.touches = [{ clientX: event.clientX, clientY: event.clientY }];
onTouchEnd( event ); onTouchEnd( event );
} }

6
js/reveal.min.js vendored

File diff suppressed because one or more lines are too long