在Bootstrap 3轮播上禁用键盘

时间:2014-08-15 22:32:24

标签: jquery twitter-bootstrap twitter-bootstrap-3

问题:

我正在构建照片库,我需要对缩略图进行分页。因此,我将所有thumbnails放在carousel内,然后点击箭头更改页面。到目前为止,非常好。

我需要能够使用键盘箭头移动缩略图。问题是轮播本身有一个keydown绑定。因此,例如,如果我点击箭头,页面会发生变化,但是如果按下键盘的箭头,我会触发旋转木马的keydown,这是我不想要的。< / p>

问题:

有没有办法在没有修改bootstrap.js的情况下禁用轮播keydown?因为我通过CDN使用它。

carousel.js我发现了这个:

...
var Carousel = function (element, options) {
    this.$element    = $(element).on('keydown.bs.carousel', $.proxy(this.keydown, this))
...
Carousel.prototype.keydown = function (e) {
    switch (e.which) {
      case 37: this.prev(); break
      case 39: this.next(); break
      default: return
    }

    e.preventDefault()
}

但我不知道如何覆盖它。我尝试使用$('.carousel').off('keydown');$('.carousel').off('keydown.bs.carousel');但没有发生任何事情。

我为您提供缩略图的简化版本供您尝试:JSFiddle

1 个答案:

答案 0 :(得分:1)

<$.fn.carousel.Constructor.prototype.keydown=function(){};之前….carousel()为我做了诀窍。

Bootstrap 3.2.0
jQuery 1.11.1