我已经有this problem before,我花了两个完整的周末试图找出并理解这个问题。同样的问题仍然存在。希望我能确定这个Rails应用程序究竟发生了什么。jQuery插件Rails不加载
让我的rails应用程序使用jQuery插件pageslide。
app/vendor/assets/javascripts
是文件jquery.pageslide.js
。 所以,我修改我的application.js
清单据此─
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery.ui.datepicker
//= require raphael.min
//= require justgage
//= require jquery.purr
//= require best_in_place
//= require lightbox
//= require jquery.cookie
//= require jquery.joyride-2.0.3
//= require jquery.pageslide
//= require modernizr.mq
//= require_tree .
我做在app/vendor/assets/stylesheets
的jquery.pageslide.css
同样的事情。该 application.css
清单
*= require jquery.ui.datepicker
*= require_self
*= require bootstrap
*= require front
*= require lists
*= require tasks
*= require lightbox
*= require joyride-2.0.3
*= require jquery.pageslide
*/
现在使用外挂程式slide out a modal我则须─
的意见/列表中的一个/ show.html.erb-
<a href="#modal123" class="second_thing">Link text</a>
<div id="modal123" style="display:none">
<h2>Modal</h2>
<p>And all the stuff.</p>
<a href="javascript:$.pageslide.close()">Close</a>
</div>
的JavaScript/lists.js。咖啡-
$ ->
$("a.second_thing").pageslide({ direction: "left", modal: true });
我的初始清单-
- 控制台没有警告或错误。 -css和js pageslide文件在页面的源代码中找到。 - 确保在DOM/jQuery是在javscripts/lists.js.coffee
我的清单文件的-The顺序调用pageslide之前加载似乎并不表明lists.js.coffee被pageslide.js之前加载
执行它看起来像我缺少一些额外的检查,以确保这项工作?
其他笔记 - 在发展ENV,其他jQuery插件工作(兜风但script标签调用它show.html.erb页),我有这条线config.assets.initialize_on_precompile = false
安抚色器件在application.rb
。
我很难过,还有什么我应该检查?
我没有足够的关于js和jquery的信息,但它似乎在咖啡文件的第一行应该被删除,你可以试试吗? – ekremkaraca
需要该位来延迟代码,直到DOM加载完毕。没有它,代码将在完整的html加载之前执行。 –
我已经在pageslide插件页面中检查了您的咖啡和样本。几乎复制粘贴,但编译脚本除外。当我从http://coffeescript.org/页面查看代码时,生成的脚本与原始脚本不同。我建议检查你的代码,看看原始代码和你的代码之间的区别。 – ekremkaraca