Javascript:即使使用 jquery.getScript() 也会出现随机 "Object has no method"错误

标签 javascript jquery playframework

我一直在使用 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 导入订单:

  1. jquery
  2. odometer.js(即使我使用 getScript,我也将它放在那里只是为了确保)
  3. 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/

相关文章:

scala - 每次都在我的网络应用程序的标题中显示登录的用户信息

playframework - Play 2.3 支持 akka 2.3 吗?

javascript - js滑动菜单求助——中间有动画延迟?

javascript - 如何使任何悬停的颜色比原始颜色更深/更浅

javascript - 检查的属性不作为 typescript 中的 html 元素存在?

jquery - 将动画添加到背景图像更改

php - jQuery onClick 事件 "overrides"提交表单

java - Neo4j 驱动程序正在运行

javascript - 为什么以下 Javascript 在 Firefox 12 上不起作用,但在 IE9 上起作用?

javascript - 为动态添加的元素添加类