这是与Rickshaw.Graph.RangeSlider TypeError: $(element).slider is not a function
类似的问题不同之处在于我在使用Express框架的node.js应用程序中使用Rickshaw。
我收到错误:“TypeError:$(element).slider不是函数”。 (第2行)
我在我的package.json文件夹中指定了jquery-ui(“^ 1.10.5”)作为依赖项。 做了“npm install”并查看node_modules文件夹中的jquery-ui文件夹。 我不确定为什么它在下面的上下文中丢失,然后导致错误。
$( function() {
$(element).slider( {
range: true,
min: graph.dataDomain()[0],
max: graph.dataDomain()[1],
values: [
graph.dataDomain()[0],
graph.dataDomain()[1]
],
slide: function( event, ui ) {
graph.window.xMin = ui.values[0];
graph.window.xMax = ui.values[1];
graph.update();
// if we're at an extreme, stick there
if (graph.dataDomain()[0] == ui.values[0]) {
graph.window.xMin = undefined;
}
if (graph.dataDomain()[1] == ui.values[1]) {
graph.window.xMax = undefined;
}
}
} );
});
更新
也许我需要使用Grunt构建系统?
构建jQuery UI
jQuery UI使用Grunt构建系统。
要构建jQuery UI,必须安装node.js然后运行 以下命令:
安装Grunt CLI npm install -g grunt-cli
克隆jQuery UI git repo git clone git://github.com/jquery/jquery-ui.git cd jquery-ui
安装节点模块依赖项npm install
运行concat任务以连接文件grunt concat
还有很多其他任务可以通过Grunt运行。 有关所有任务的列表:grunt --help
答案 0 :(得分:1)
在没有定义$或jquery-ui函数的地方,在rickshaw.js中,我包含了各自的库
window.$ = require('jquery');
或
var $ = require('jquery');
require('jquery-ui');
暂时解决这个问题......现在......