Files
edx-platform/lms/static/js/vendor/responsive-carousel/responsive-carousel.keybd.js
2013-08-21 15:27:37 -04:00

39 lines
992 B
JavaScript

/*
* responsive-carousel keyboard extension
* https://github.com/filamentgroup/responsive-carousel
*
* Copyright (c) 2012 Filament Group, Inc.
* Licensed under the MIT, GPL licenses.
*/
(function($) {
var pluginName = "carousel",
initSelector = "." + pluginName,
navSelector = "." + pluginName + "-nav a",
buffer,
keyNav = function( e ) {
clearTimeout( buffer );
buffer = setTimeout(function() {
var $carousel = $( e.target ).closest( initSelector );
if( e.keyCode === 39 || e.keyCode === 40 ){
$carousel[ pluginName ]( "next" );
}
else if( e.keyCode === 37 || e.keyCode === 38 ){
$carousel[ pluginName ]( "prev" );
}
}, 200 );
if( 37 <= e.keyCode <= 40 ) {
e.preventDefault();
}
};
// Touch handling
$( document )
.on( "click", navSelector, function( e ) {
$( e.target )[ 0 ].focus();
})
.on( "keydown", navSelector, keyNav );
}(jQuery));