我一直在使用JavaScript,因此需要从另一个.js文件中调用一个函数。
该代码在大多数时间都有效,但是有时会出现错误“对象没有方法里程表”。我什至将代码放在对getScript()的调用中,以确保在尝试调用odometer()
函数之前已将其加载,但是我仍然遇到随机错误。
这是代码:
var updateDisplay = function(){
console.log("refreshing Odometers");
$.getScript("/odometer.js", function(){
$.getJSON(
'/getData',
{
product: '',
unit: unitSelection(),
period: salesPeriod(),
reportBegin: $("#datepickerfrom").val(),
reportEnd: $("#datepickerto").val()
},
function(data){
$(".odometer").odometer({
odometerData:data
});
});
});
};
我在这条线上出现错误:
$(".odometer").odometer({
odometerData:data
});
它说“对象没有方法里程表”。
我正在使用Play框架进行开发,并且已经在HTML页面中导入了jQuery和其他JavaScript文件。
这是我的JS导入顺序:
jQuery的
odometer.js(即使我使用getScript,也只是为了确保将其放在此处)
main.js(给定代码驻留在其中。)
我究竟做错了什么?
感谢您的帮助。
最佳答案
我认为$(".odometer").odometer({...})
在里程表扩展到jQuery之前被调用,流程可能像这样
$(".odometer").odometer({...}); // first called
$.fn.odometer = function(){...}; // later it was extended to jQuery