【发布时间】:2016-07-19 16:51:18
【问题描述】:
我在 rails 上使用 jquery 时遇到问题。在我的 cmets.js 文件中添加
//= require jquery
//= require jquery_ujs
//= require cocoon
//= require bootstrap-sprockets
//= require turbolinks
//= require_tree .
$( document ).ready(function() {
alert("This javascripts thing is reals making me mad!");
});
$(document).ready(function(){
$("#comments_link").click(function(){
$(".comments-section").toggle();
});
})
在我的 application.html.haml 我有;
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true
= javascript_include_tag 'application', 'data-turbolinks-track' => true
= csrf_meta_tags
!!!!!!!!!!!!!!!!!!更新!!!!!!!!!!!!!!!!!! 它通过添加 preventDefault 得到解决。最终版本如下:
$(document).ready(function(){
$(".harun").click(function(e){
e.preventDefault();
$("section").toggle();
});
})
【问题讨论】:
-
不应使用
$(document).on("ready"....,它已被弃用api.jquery.com/ready。怀疑这会解决错误,但尝试将其中的代码移动到alert()之后并删除它 -
我尝试了正常的 $(document).ready 方式。它也不起作用。我应该在那里把它改成正常的。谢谢你展示它。
-
显示的 jQuery 代码在语法上是正确的。生成的源在浏览器中是什么样子的
-
好吧,因为我是新手。我想你说的是“检查元素”。如果是真的,它会说“未捕获的语法错误:无效或意外的令牌”。在控制台上我做了 $(".cmets_section").show() ,现在我更困惑为什么不在页面上工作。
-
我是说看看 rails 发送到浏览器的实际代码。尝试在浏览器中查看源代码......或打开浏览器开发工具并探索 (F12)
标签: javascript jquery ruby-on-rails syntax rubygems