带有Modernizr.Load的Uncaught TypeError

时间:2014-05-07 08:48:31

标签: javascript jquery datepicker modernizr

我正在尝试使用以下代码来允许我使用datepicker。虽然我之前有过这种工作的变化,但我现在无法在恢复后使其正常工作。

我在第'Modernizr.load'行下面收到错误'Uncaught TypeError:undefined is not function'

    <script>
Modernizr.load({
  test: Modernizr.inputtypes.date,
  nope: ['http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js', 'jquery-ui.css'],
    complete: function () {
        if (window.jQuery) {
            jQuery('input[type=date]').datepicker({
                dateFormat: 'yy-mm-dd'
            });
        }
    }
});

有关此错误原因的建议吗?

2 个答案:

答案 0 :(得分:0)

Uncaught TypeError: undefined is not a function表示您尝试将某些内容称为不存在的函数。在这种情况下,您通过引用调用多个函数。

Modernizr.loadjQuery().datepicker。这意味着Modernizr.load不存在,在这种情况下请确保Modernizr.load checkbox is checked。如果是造成问题的datepicker,那么您需要检查开发人员工具网络日志以查看是否

  1. jQuery UI正在下载
  2. 正确解析它(控制台中没有错误)。
  3. 此外,jQuery 1.4已经有4年半了!如果可以,请尝试使用更新的版本,在以后的版本中有大量的速度改进!

答案 1 :(得分:0)

Modernizr.js 开发版本不包含load()。要获得此功能,您需要使用library builder并检查 Extra 部分中的加载选项。

enter image description here

Modernizr 团队给出的理由:

  

我们不包含它,因为它实际上是单独维护的   名为yepnope的图书馆 - 你可以得到它   https://github.com/slexaxton/yepnope.js

更多信息: Uncaught TypeError: Object # has no method 'load' #307