diff --git a/js/carousel.js b/js/carousel.js index af51cf50d541..bc4c60ef4c77 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)