【发布时间】: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 以及带有 jQuery UI Bootstrap 主题的 jQuery UI 和 jQuery,对吗?
-
jQuery 已加载。是的,没错
-
如果我使用 jQuery UI 的最新版本 1.8.23(不是当前 1.8.16 的带有 Bootstrap 主题的自定义构建),滑块现在可以工作。
-
是哪一行导致了这个错误?我在你的代码中没有看到
addClass,所以我假设它是滑块的一部分,所以也许你没有传入一个有效的对象?this.$el是什么? -
this.$el是包含<div id="slider"></div>的父div,所以this.$el.find('#slider')会正确抓取滑块div
标签: javascript jquery jquery-ui backbone.js twitter-bootstrap