【问题标题】:Why do I receive an Uncaught ReferenceError: $ is not defined为什么我会收到 Uncaught ReferenceError: $ is not defined
【发布时间】:2016-08-30 17:33:41
【问题描述】:

我有一个简单的显示页面,文件顶部有这个haml代码:

:javascript
  $(document).ready(function() {
    alert('Come on work.....');
  });

当我加载页面时,我在控制台中收到此错误Uncaught ReferenceError: $ is not defined

问题似乎与这里的这个问题相似(Uncaught $ error)。

我的 application.js 看起来像这样:

#= require jquery
#= require jquery_ujs
#= require jquery-ui
#= require underscore-min
#= require chosen.jquery.min
#= require app
#= require_tree .
#= require twitter/bootstrap
#= require d3.min
#= require highcharts/highstock
#= require highcharts/highcharts-more
#= require highcharts/solid-gauge
#= require tagcloud
#= require ace-element.min
#= require tipso.min

# Remove the following trigger when TurboLinks are re-enabled
  $(document).ready ->
    $(document).trigger 'page:change'

我可以使用一些帮助来解决如何继续解决所有其他 javascript 文件都工作正常的问题,所以我不确定问题出在哪里。

更新

我不确定我是否理解正确,但我已经尝试将 application.js 中的文件重新排序为:

#= require_tree .
#= require jquery
#= require jquery_ujs
#= require jquery-ui

我收到一个新错误,提示 JQuery is not defined。我认为通过在 application.js 文件中使用它,jquery 将无处不在。我在这里想念什么。我需要在我的show.html.haml 页面中包含实际文件吗?

【问题讨论】:

  • jQuery 包含必须在 第一次引用 $ 之前发生
  • 非常感谢您的快速回复。 '在第一次引用 $ 之前是什么意思?那是我的节目文件中的$ 吗?我没有关注。
  • @DanRubio 问题:1. 您将“application.js”的引用放在哪里 2. 最好为您提供 jsfiddle 或 stacksnip 代码的引用的片段
  • 如果您所说的位于“文件顶部”的 JavaScript 代码出现在 生成的引入 jQuery 的 <script> 标记之前,您将收到该错误。脚本块按照浏览器获取它们后出现的顺序进行评估。

标签: javascript jquery ruby-on-rails


【解决方案1】:

正如@Pointy 所说,jQuery 文件需要在你的 application.js 之前包含

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="application.js"></script>

【讨论】:

  • happymacarts 感谢您的回答。你能看看我的更新。我不明白我需要做什么。我是否需要在我的application.js 文件中加载正确的顺序,或者你是说我需要你在我的show.html.hamlapplication.js 页面中的答案?我认为资产管道会处理这个并将其加载到任何地方。
  • 我不熟悉 HAML 但是 jquery 脚本需要包含在 applicaion.js 之前呈现的 html 中
  • 它工作得很好,但是这颗宝石有什么意义呢? github.com/rails/jquery-rails。我想再来一次。
【解决方案2】:

你必须在你的页面中包含 jQuery 引用

<script src="https://code.jquery.com/jquery-2.1.4.js"></script>

【讨论】:

  • @Mohit Arora 重复我的答案(我想我的扳机手指更快)但要归功于@Pointy,他在我实际回答之前发表了评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2021-12-08
相关资源
最近更新 更多