Javascript 包含在资源中时,Coffee脚本不起作用
我有一些coffee脚本,在折叠列表时可以切换一些css类,但是当我将它放在/assets/javascripts目录下的一个单独的.js.coffee文件中时,它似乎不起作用,但是当我将它包含在HAML文件中时,它确实起作用。coffee脚本似乎可以编译并包含在页面的开头,但根本不起作用。有什么想法吗Javascript 包含在资源中时,Coffee脚本不起作用,javascript,ruby-on-rails,coffeescript,Javascript,Ruby On Rails,Coffeescript,我有一些coffee脚本,在折叠列表时可以切换一些css类,但是当我将它放在/assets/javascripts目录下的一个单独的.js.coffee文件中时,它似乎不起作用,但是当我将它包含在HAML文件中时,它确实起作用。coffee脚本似乎可以编译并包含在页面的开头,但根本不起作用。有什么想法吗 $('#collapseTwo').on 'hidden.bs.collapse', -> if $('#collapseOne').hasClass('show')
$('#collapseTwo').on 'hidden.bs.collapse', ->
if $('#collapseOne').hasClass('show')
$('#collapseOne').addClass('extended')
$('#collapseOne').removeClass('regular')
$('#collapseTwo').removeClass('regular')
$('#collapseTwo').removeClass('extended');
$('#collapseTwo').on 'show.bs.collapse', ->
unless $('#collapseOne').hasClass('show')
$('#collapseTwo').addClass('extended')
if $('#collapseOne').hasClass('extended')
$('#collapseOne').removeClass('extended')
$('#collapseOne').addClass('regular')
$('#collapseTwo').addClass('regular');
$('#collapseOne').on 'hidden.bs.collapse', ->
if $('#collapseTwo').hasClass('show')
$('#collapseTwo').addClass('extended')
$('#collapseTwo').removeClass('regular')
$('#collapseOne').removeClass('regular')
$('#collapseOne').removeClass('extended');
$('#collapseOne').on 'show.bs.collapse', ->
unless $('#collapseTwo').hasClass('show')
$('#collapseOne').addClass('extended')
if $('#collapseTwo').hasClass('extended')
$('#collapseTwo').removeClass('extended')
$('#collapseOne').addClass('regular')
$('#collapseTwo').addClass('regular');
将
gem'coffee-rails'
添加到您的gem文件中,然后运行bundle-install
请记住需要application.js中的coffeescript文件,如/=require moment
添加$(文档)。在“ready page:load”上,将->
作为咖啡文件的第一行。Gem已经存在,并且application.js中需要该文件,我可以在页面的“sources”选项卡中看到该文件的编译js版本,也可以看到它包含在页面的标题中。尝试添加$(文档)。在“ready page:load”上,->
作为coffee文件的第一行。请确认添加已解决问题,谢谢。这正常吗?是的,这很正常,javascript函数应该在页面可读性之后运行。我想这是有道理的,我发誓我以前做过一百次,但从来都不需要这一行。哦,好吧,再次谢谢你。