【问题标题】:Uncaught ReferenceError: $ is not defined - error in console [duplicate]未捕获的 ReferenceError:未定义 $ - 控制台中的错误 [重复]
【发布时间】:2023-04-08 10:36:01
【问题描述】:

我在控制台中收到此错误,它与我正在使用的 js 脚本有关(Trumbowyg 所见即所得:http://alex-d.github.io/Trumbowyg/

这是出现错误的浏览器控制台图片:

当我点击(index):166 时,它会在源代码中显示:

id_content 是 WSYIWYG 编辑器的 id,这是我的 js 文件中使其工作所需的函数:

$('#id_content').trumbowyg({

});

我查看了其他解决方案,他们说在所有其他 js 脚本之前加载 jquery 脚本,但我已经这样做了,但它没有解决任何问题。有谁知道问题是什么?顺便说一句,我正在使用这个包将它与 django 集成:https://github.com/sandino/django-trumbowyg,不确定这是否会改变任何东西。我只是在我的表单中加载小部件,如下所示:

class PostForm(forms.ModelForm):
    content = forms.CharField(widget=TrumbowygWidget(), required=False)

完整的html部分:

< div >
< textarea
cols = "40"
id = "id_content"
name = "content"
rows = "10" >
< / textarea >
< script >
$("#id_content").trumbowyg({
    lang: "en",
    semantic: true,
    resetCss: true,
    autogrow: true,
    removeformatPasted: true,
    btnsDef: {
        image: {
            dropdown: ['upload', 'insertImage', 'base64', 'noembed'],
            ico: 'insertImage'
        }
    },
    btns: [
        ['formatting'],
        'btnGrp-semantic',
        ['link'],
        ['image'],
        'btnGrp-justify',
        'btnGrp-lists',
        'video',
        ['horizontalRule'],
        ['removeformat'],
        ['fullscreen'],
        ['viewHTML']
    ],
    plugins: {
        upload: {
            serverPath: '/trumbowyg/upload_image/',
            fileFieldName: 'image',
            statusPropertyName: 'message',
            urlPropertyName: 'file'
        }
    }
});
< / script >

< / div >

编辑:请记住,一切正常,但我仍然收到此错误。这不是一个重复的问题,我已经尝试了这些解决方案,但它们都不起作用。

html文件结束,脚本加载正常:

    ...
    <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-3.1.1.min.js"><\/script>')</script>
    <script src="/static/js/jquery-jvectormap-2.0.3.min.js"></script>
    <script src="http://jvectormap.com/js/jquery-jvectormap-world-mill.js"></script>
    <script type="text/javascript" src="/static/js/base.js"></script>
    <!--<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script>-->
    <script src="/static/js/Trumbowyg-master/dist/trumbowyg.js"></script>

</body>

【问题讨论】:

  • 请显示包含$ 部分的完整HTML 代码。这是缺少jQuery 加载问题。
  • "but I'm already doing that and it doesn't solve anything" - 您的浏览器似乎不这么认为,而且这些事情通常是正确的。
  • 如果您将$ 更改为jQuery 是否有效?
  • @nik_m 在编辑中添加。大卫,你是什么意思?我的 jQuery 是我加载的第一个 js 文件。
  • @charlietfl 不,我仍然遇到同样的错误。

标签: javascript jquery python django trumbowyg


【解决方案1】:

这意味着你的页面没有加载 jQuery。

检查网络选项卡以查看 jQuery 是否有加载问题。

或者

确保您的代码在包含 jQuery 之后执行。

【讨论】:

  • jQuery 工作正常,响应 jQuery 的 WYSIWYG 编辑器工作正常。
  • 如果您在该行出现错误,那么您的编辑器怎么会正常加载?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2021-04-24
  • 2015-07-11
  • 1970-01-01
  • 2012-09-07
  • 2012-03-03
  • 1970-01-01
相关资源
最近更新 更多