1

我正在尝试使用Pickadate插件。我遇到了一个非常奇怪的问题。有时插件决定工作,有时它不工作。

我在picker.js picker.date.js 和picker.time.js 中添加了一些console.log(),并且所有的都按预期启动。此外,如果我检查 $.fn.pickadate 以查看它是否存在。但是当我实际调用 $('.datepicker').pickadate() 我得到:

Uncaught TypeError: jQuery(...).pickadate is not a function

如果我刷新页面,那么大多数时候它都会按预期工作。但奇怪的情况并非如此。

关于这可能是什么的任何建议?

4

1 回答 1

6

找到您的问题并扩展 Sharky 的评论,我来自:

   $('.datepicker').pickadate({
selectMonths: true, // Creates a dropdown to control month
selectYears: 3 // Creates a dropdown of 15 years to control year
  });

至:

  $( document ).ready(function() {
       $('.datepicker').pickadate({
    selectMonths: true, // Creates a dropdown to control month
    selectYears: 3 // Creates a dropdown of 15 years to control year
  });
});

它解决了我的问题。

编辑:如果从代码中不清楚,这是每次加载页面时不同 js 文件以不同速度加载的工件。document.ready 强制选择器初始化等到所有元素(包括选择器库)都准备好之后。

于 2016-01-07T03:56:56.000 回答