首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 2 ":defaults“js与jQuery冲突

Rails 2 ":defaults“js与jQuery冲突
EN

Stack Overflow用户
提问于 2011-05-25 02:59:21
回答 3查看 635关注 0票数 1

当我对jQuery和Rails的:defaults使用javascript_include_tag时,后者似乎覆盖了第一个。

例如,当我按如下顺序放置元素时:

代码语言:javascript
复制
<%= 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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-25 03:04:33

这里有两个简单的解决方案。使用jrails插件。它将引导你完成你需要做的事情。

或者在jQuery代码中使用jQuery而不是$。

例如:

代码语言:javascript
复制
$('li').fadeOut();
// should be
jQuery('li').fadeOut();

它们会做同样的事情,但是Rails使用Prototype,Prototype也映射$,因此与jQuery冲突。

票数 2
EN

Stack Overflow用户

发布于 2011-05-25 07:20:07

对于jQuery,您可以尝试使用$j而不是$。

<script> var $j = jQuery.noConflict(); </script>

票数 0
EN

Stack Overflow用户

发布于 2011-05-25 13:31:27

记得先添加缺省值,然后添加jquery。prototype.js文件和jquery-1.4.2.min文件之间存在冲突

代码语言:javascript
复制
<%= javascript_include_tag  :defaults %>
<%= javascript_include_tag 'jquery-1.4.2.min' %>
<script>var $j = jQuery.noConflict();</script>

使用$j而不是$ like。

代码语言:javascript
复制
$j(document).ready(function() {
.............
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6115443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档