我正在尝试在我的rails应用程序上放置一个简单的jqPlot,但是我无法加载它...这就是我认为的内容:
<div id='chart1' style="height:400px;width:300px; "></div>
<script>
$(document).bind('pageinit', function() {
var plot1 = $.jqplot ('chart1', [[3,7,9,1,4,6,8,2,5]]);
});
</script>
当我打开页面时,jQuery Mobile微调器会永远持续下去,我在JavaScript控制台中收到此错误:
未捕获TypeError:对象函数(e,t){return new b.fn.init(e,t,r)} 没有方法'jqplot'
我已将相应的jqPlot javascript文件添加到我的vendor / assets文件夹并在我的application.js中引用它们,所以我认为这不是问题所在。
有趣的是(或者可能不是),如果我添加行
jQuery.noConflict();
在JavaScript块的开头,然后我没有得到错误,页面加载正常,但是没有jqPlot ..但是,我可以从JavaScript控制台引用jqPlot。
我对网络开发很陌生,所以我可能会遗漏一些基本的东西......任何帮助都会非常感激!
答案 0 :(得分:1)
我有一个plot
模块(文件jqplot.module.js
),如下所示:
define([
'../js/plugins/jqplot/jquery.jqplot'
, 'css!../js/plugins/jqplot/jquery.jqplot'
],
function () {
var plot;
require([
'../js/plugins/jqplot/plugins/jqplot.barRenderer'
, '../js/plugins/jqplot/plugins/jqplot.logAxisRenderer'
, '../js/plugins/jqplot/plugins/jqplot.categoryAxisRenderer'
, '../js/plugins/jqplot/plugins/jqplot.canvasAxisTickRenderer'
, '../js/plugins/jqplot/plugins/jqplot.canvasTextRenderer'
, '../js/plugins/jqplot/plugins/jqplot.pointLabels'
, '../js/plugins/jqplot/plugins/jqplot.enhancedLegendRenderer'
],
function () {
plot = $.jqplot;
});
return plot;
}
);
我在相关页面上将其称为:
require(['plot'],
function () {
// in here I have $.jqplot available
}
);
在我的main.js
内,我宣布jqplot.module
plot:'../js/plugins/jqplot/jqplot.module'
对我来说很好。