Javascript未定义,不是函数错误

Posted

技术标签:

【中文标题】Javascript未定义,不是函数错误【英文标题】:Javascript not defined, not a function error 【发布时间】:2020-11-07 15:02:36 【问题描述】:

我正在尝试修复我网站上的移动导航,但遇到了一个我不明白问题出在哪里的问题。

我有这个:

<header class="main__header">
  <div class="container">
    <nav class="navbar navbar-default" role="navigation"> 
      <div class="navbar-header">
        <a href="javascript:void()" class="submenu">Menus</a> </div>
      <div class="menuBar">
        <jdoc:include type="modules" name="navigation"/>
      </div>
    </nav>
  </div>
</header>

还有这个:

<script type="text/javascript">
        $("a.submenu").click(function() 
            $(".menuBar").slideToggle( "normal", function() 
                // Animation complete.
             );
         );
        $("ul li.dropdown a").click( function () 
            $("ul li.dropdown ul").slideToggle("normal",function() 
                // Animation complete.
             );
            $('ul li.dropdown').toggleClass('current');
         );
</script>

但是当我尝试单击移动设备的 a.submenu 下拉按钮时出现此错误,并且 menuBar div 没有更改为“可见”:

Uncaught TypeError: $ is not a function
    at htmlAnchorElement.<anonymous> ((index):1022)
    at HTMLAnchorElement.dispatch (jquery.min.js:3)
    at HTMLAnchorElement.YTF.$event.dispatch (script.js?v=4.4.5:407)
    at HTMLAnchorElement.r.handle (jquery.min.js:3)

(index):1022 是 "$(".menuBar").slideToggle( "normal", function() " 行。

我已经加载了 jquery 3.5.1。

谢谢。

【问题讨论】:

这是一个 Joomla javacript 无冲突问题。在这里找到答案:***.com/questions/26470070/… 【参考方案1】:

您的代码要么在加载 JQuery 之前(在其标记之前)运行,要么根本没有加载 JQuery。

【讨论】:

以上是关于Javascript未定义,不是函数错误的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:将画布另存为图像 ==>“未捕获的类型错误:未定义不是函数”

0x800a138f - JavaScript 运行时错误:属性“$”的值为 null 或未定义,不是函数对象

自定义模块:未捕获类型错误:未定义不是函数

javascript onclick调用函数,进入不了函数,报函数未定义的错误

如何使“未定义不是函数”错误更有用?

Javascript TypeError 代码出错,变量未定义