【问题标题】:Slider cannot be dragged (Cannot call method 'addClass' of undefined ) (jQuery UI Bootstrap + Twitter Bootstrap)滑块无法拖动(无法调用 undefined 的方法 'addClass')(jQuery UI Bootstrap + Twitter Bootstrap)
【发布时间】:2012-10-05 23:15:14
【问题描述】:

当我使用 Twitter Bootstrap 2.1.1、jQuery UI Bootstrap 1.8.16 和 Backbone.js 创建一个简单的滑块 #slider 时,当我尝试拖动滑块手柄时出现以下错误(不跟随拖动):

JS 错误

Uncaught TypeError: Cannot call method 'addClass' of undefined 

HTML

<div id="slider"></div>

JS

renderSlider: function() {
    this.$el.find('#slider').slider({
        range: true,
        min: 0,
        max: 500,
        values: [ 75, 300 ],
        slide: function( event, ui ) {}
    });

},

如果我没有将任何选项传递给.slider(),我在拖动滑块手柄时会遇到同样的错误:

renderSlider: function() {
    this.$el.find('#slider').slider();

知道出了什么问题吗?

【问题讨论】:

  • 正在加载 jQuery 吗?我正在尝试了解您在使用什么... Twitter Bootstrap 和 Backbone.js 以及带有 jQ​​uery UI Bootstrap 主题的 jQuery UI 和 jQuery,对吗?
  • jQuery 已加载。是的,没错
  • 如果我使用 jQuery UI 的最新版本 1.8.23(不是当前 1.8.16 的带有 Bootstrap 主题的自定义构建),滑块现在可以工作。
  • 是哪一行导致了这个错误?我在你的代码中没有看到addClass,所以我假设它是滑块的一部分,所以也许你没有传入一个有效的对象? this.$el 是什么?
  • this.$el 是包含&lt;div id="slider"&gt;&lt;/div&gt; 的父div,所以this.$el.find('#slider') 会正确抓取滑块div

标签: javascript jquery jquery-ui backbone.js twitter-bootstrap


【解决方案1】:

使用 jQuery 1.8.x。您选择的版本存在不兼容问题。

【讨论】:

    【解决方案2】:

    我认为这不是 Bootstrap 和 jQuery UI 之间的冲突。

    滑块也有同样的问题。我完全删除了引导程序,它仍然存在。 只有下一个帮助:jQuery UI slider - Cannot call method 'addClass' of undefined

    jQuery UI 的最新版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 2018-02-25
      • 2012-05-31
      • 2013-09-10
      • 2019-05-14
      相关资源
      最近更新 更多