我一直在使用 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
关于Javascript:即使使用 jquery.getScript() 也会出现随机 "Object has no method"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718122/