当我对jQuery和Rails的:defaults使用javascript_include_tag时,后者似乎覆盖了第一个。
例如,当我按如下顺序放置元素时:
<%= javascript_include_tag "jquery-1.4.min.js" %>
<%= javascript_include_tag :defaults %>...I可以使用Rails执行AJAX更新,但不能使用jQuery执行任何操作。当我颠倒javascript_include_tag的顺序时,我可以访问jQuery,但不能使用Rails运行AJAX请求。
我更喜欢使用AJAX Rails (因为它对我来说需要的代码更少),但我也希望利用其他jQuery特性。你知道该怎么做或者冲突在哪里吗?
Rails 2.3.5,jQuery 1.4
发布于 2011-05-25 03:04:33
这里有两个简单的解决方案。使用jrails插件。它将引导你完成你需要做的事情。
或者在jQuery代码中使用jQuery而不是$。
例如:
$('li').fadeOut();
// should be
jQuery('li').fadeOut();它们会做同样的事情,但是Rails使用Prototype,Prototype也映射$,因此与jQuery冲突。
发布于 2011-05-25 07:20:07
对于jQuery,您可以尝试使用$j而不是$。
<script> var $j = jQuery.noConflict(); </script>
发布于 2011-05-25 13:31:27
记得先添加缺省值,然后添加jquery。prototype.js文件和jquery-1.4.2.min文件之间存在冲突
<%= javascript_include_tag :defaults %>
<%= javascript_include_tag 'jquery-1.4.2.min' %>
<script>var $j = jQuery.noConflict();</script>使用$j而不是$ like。
$j(document).ready(function() {
.............
});https://stackoverflow.com/questions/6115443
复制相似问题