From: fat Date: Wed, 11 Jun 2014 03:24:19 +0000 (-0700) Subject: fix #13185 - keyboard support for carousel X-Git-Tag: v3.2.0~67^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1dad14f448b9885147a5ae05458a4c5f457b43b;p=thirdparty%2Fbootstrap.git fix #13185 - keyboard support for carousel --- diff --git a/js/carousel.js b/js/carousel.js index af51cf50d5..bc4c60ef4c 100644 --- a/js/carousel.js +++ b/js/carousel.js @@ -18,7 +18,7 @@ // ========================= var Carousel = function (element, options) { - this.$element = $(element) + this.$element = $(element).on('keydown.bs.carousel', $.proxy(this.keydown, this)) this.$indicators = this.$element.find('.carousel-indicators') this.options = options this.paused = @@ -28,8 +28,8 @@ this.$items = null this.options.pause == 'hover' && this.$element - .on('mouseenter', $.proxy(this.pause, this)) - .on('mouseleave', $.proxy(this.cycle, this)) + .on('mouseenter.bs.carousel', $.proxy(this.pause, this)) + .on('mouseleave.bs.carousel', $.proxy(this.cycle, this)) } Carousel.VERSION = '3.1.1' @@ -40,6 +40,16 @@ wrap: true } + Carousel.prototype.keydown = function (e) { + switch (e.which) { + case 37: this.prev(); break + case 39: this.next(); break + default: return + } + + e.preventDefault() + } + Carousel.prototype.cycle = function (e) { e || (this.paused = false)