javascript资产中的jQuery未启动
jQuery in javascripts assets not firing
如果我把这个代码放在erb视图中,它可以完美地工作
<script type="text/javascript">
$('.disabled-course').click(function() {
$('#alert').html(
'<div class="alert alert-warning alert-dismissible">' +
' <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' +
' <h4><i class="icon fa fa-warning"></i>¡Alerta!</h4>' +
' Los cursos en vivo solo están disponibles para usuarios premium' +
'</div>'
);
})
</script>
但是,当我将相同的代码(除了脚本标记)放在assets/javascripts文件夹中它自己的文件中时,它就停止工作了。我也无法正确显示unicode字符(我得到的是"而不是")
rails生成的js文件如下所示:
$('.disabled-course').click(function() {
$('#alert').html(
'<div class="alert alert-warning alert-dismissible">' +
' <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>' +
' <h4><i class="icon fa fa-warning"></i>¡Alerta!</h4>' +
' Los cursos en vivo solo están disponibles para usuarios premium' +
'</div>'
);
})
我已经检查了jQuery是否包含在其他内容之前,还尝试将其放入$(document).ready(function() {}
中
确保在application.js
清单中包含javascript文件:
application.js
//= require jquery
.. A bunch of other requires
//= require name_of_js_file
这将加载一个名为app/assets/javascripts/name_of_js_file.js
的文件。作为健全性检查,请通过检查开发工具控制台来确保name_of_js_file.js
已加载。您还可以添加一个console.log
,以便在加载脚本时激发,作为健全性检查。
此外,为了安全起见,我总是将这类代码封装在$(document).ready(function() {}
回调中,就像您提到的那样。这样做的原因是,即使加载了jQuery,页面上也可能还不存在$('.disabled-course')
元素。
相关文章:
- 我的jQuery插件参数没有正确启动,遇到了问题
- jQuery悬停在没有鼠标悬停的情况下启动
- jQuery mouseup在拖离链接后未启动
- 无线电输入更改的jQuery事件未启动
- Rails jquery ajax调用未启动
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 重新启动jquery脚本后,角度停止工作
- jQuery事件侦听器多次启动
- 重新启动游戏jQuery功能不工作
- javascript资产中的jQuery未启动
- 使用Javascript或jQuery启动和停止引导转盘
- JQuery启动文件下载,然后运行一个函数
- Web启动JNLP Web从javascript或jquery启动
- 是否可以在jquery启动或每次操作时将变量传递给它
- 上一个完成后的jQuery启动函数
- 用于.ogg循环播放的javascript/jquery启动按钮
- 当文档准备就绪时,单击事件Jquery启动
- 如何在使用jQuery启动的模态中更新-data行属性
- 无法使用jQuery启动事件
- 使用悬停中的 jQuery 启动和停止计时器