首页 > 解决方案 > jQuery插件抛出'不是函数'

问题描述

我有一个 auto-logout.js 文件,我在某些页面上使用:

<script src="/js/auto-logout.js"></script>

在控制台中,它会引发以下错误:

未捕获的类型错误:$(...).idleTimeout 不是函数

我不明白为什么这不起作用。当前运行 jQuery 2.2.4。

(function($) {
    $.fn.idleTimeout = function(userRuntimeConfig) {
      // ...
    });
}(jQuery));

$(document).ready(function() {
  $(document).idleTimeout({
    idleTimeLimit: 1200,
    customCallback: function() {
      axios.get('/auth/signout').then(function() {
        document.location.reload();
      }).catch(function(error) {
        console.error(error)
      });
    },
    dialogDisplayLimit: 30,
  });
});

有任何想法吗?

标签: jquery

解决方案


显然包“materialize-css”破坏了我的其他脚本。我将“materialize-css”更新为最新的 1.0.0(从 0.98 开始),问题得到解决。

仍然不知道是什么导致了最初的问题,因为这个/这些脚本多年来一直运行良好。可能是因为某处更新了 npm 包而导致的问题。


推荐阅读