【发布时间】: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