带有Modernizr.Load的Uncaught TypeError

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

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

 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' }); } } }); 

有关此错误的原因是什么的任何建议?

我刚刚在你的小提琴中粘贴了一个简单的现代化自定义构建,似乎适用于firefox:

但是,我不得不改变你加载jquery-ui的方式:简单地用你想要的主题替换那个cdn:

  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', 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css'], .... 

分钟是对的,这里是自定义构建:

在此处输入图像描述

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

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

  1. jQuery UI正在下载
  2. 它被正确解析(控制台中没有抛出任何错误)。

此外,jQuery 1.4已经有4年半了! 如果可以的话,尝试使用更新的版本,在以后的版本中有大量的速度改进!

Modernizr.js开发版本不包含load() 。 要获得此function,您需要使用库构建器并在Extra部分中选中load选项。

在此处输入图像描述

Modernizr团队给出的理由:

我们不包含它,因为它实际上是一个名为yepnope的单独维护的库 – 你可以在https://github.com/slexaxton/yepnope.js上找到它

更多信息: Uncaught TypeError:Object#没有方法’load’#307