`

rails jquery and prototype

阅读更多

之前的项目用的是prototype  ,许多功能是用prototype实现的
现在项目要使用jquery,就必须混用
也可以只用jquery


There is a problem with using them together though: Prototype came up with this nice function called $() which is slightly more than a shortcut to document.getElementById(). This function is the main function in Prototype. Well,  John Resig , the creator of jQuery, also used to be a Prototype fan, so the main method in jQuery is also called $(). The jQuery website says that all you have to do to get them to play nice is to include jQuery after you include Prototype. Unfortunately, this is not enough. There is just a little bit more you have to do:

In the jQuery core code (which includes ajax, animations, et al.) there is a method called jQuery(). The $() method is aliased for the jQuery() in the code. This means that all you have to do is remove the part of jQuery that alias the $() method. In jQuery 1.0.4 uncompressed the lines you need to comment out start at line 60:

Change:

// Map over the $ in case of overwrite
if ( typeof $ != "undefined" )
jQuery._$ = $;

// Map the jQuery namespace to the '$' one
var $ = jQuery;

To:


// Map over the $ in case of overwrite
//if ( typeof $ != "undefined" )
//jQuery._$ = $;

// Map the jQuery namespace to the '$' one
//var $ = jQuery;

Once this is done, jQuery will no longer interfere with Prototype. You will have to use the jQuery() method to create a jQuery object, unless you alias the method to something else. I alias it to jq like this:

yessss

Change:

var $ = jQuery;

To:

var jq = jQuery;

One last thing:   Although all of the core uses JQuery() internally, there is no guaranty that any plugin will do the same, in my experience none do. The solution that works for me is to do a find/replace in the downloaded plugin, replacing any $( with jQuery(.

That's it. Now you can easily use jQuery and prototype in your rails app, even in the same view. I regularly use inline edit (which produces Prototype code) and jQuery in the same view, no problems.

 

分享到:
评论

相关推荐

    替代Rails中的Prototype为jQueryjRails.zip

    jRails是一个替代 Rails 中的Prototype/script.aculo.us 为 jQuery 的项目。使用 jRails,你能获得所有缺省的Rails helpers 来使用jQuery库。 安装方法: ./script/plugin install ...

    jquery与prototype框架的详细对比

    以前做界面是用jquery的,现在因为要用许多ajax效果,改用了rails自带的prototype 因为jquery用多了,换个框架也大同小异,不过细节上有很多不同。。。 1.dom加载方面: jquery有dom ready方法,推迟js函数的绑定...

    JRails 支持jquery-ui 1.5.1 jQuery1.6

    用 jQuery 替代Prototype/script.aculo.us 在Rails做 helpers 实现 javascript 的功能,jQuery library的优点: 快速简洁优雅. 也支持JQuery与Prototypea共存,方法如下: 1、将jquery.js放到prototype.js后面(这个...

    Prototype.and.script.aculo.us.Dec.2007.pdf

    Prototype的设计哲学是使JavaScript变得更像动态语言Ruby,因此在Ruby on Rails社区中非常受欢迎。 #### 1.2 script.aculo.us框架 script.aculo.us是基于Prototype的一个视觉效果和用户界面行为库。它提供了丰富的...

    prototype从入门到精通

    1. **jQuery、MooTools比较**:Prototype与jQuery、MooTools等其他JavaScript库有相似之处,理解它们之间的异同,可以帮助选择最合适的工具。 2. **与Rails框架的整合**:Prototype是Ruby on Rails框架的默认...

    prototype 开发应用手册,笔记,prototype.js文件下载

    Prototype常被用于构建复杂的Web应用程序,如Ruby on Rails框架就默认集成了Prototype,用于提供丰富的客户端交互。同时,它也是其他JavaScript库和框架,如jQuery和ExtJS的基础灵感来源。 总结,Prototype.js是...

    Agile Web Development with Rails,Fourth Edition 第四版

    这包括AJAX的使用,以及利用Prototype或jQuery进行页面动态更新和交互。 对于视图部分,erb和haml模板语言的比较和选择,以及辅助方法的使用,都是书中重要的内容。此外,还会有关于样式表管理和响应式设计的讨论,...

    应用rails进行敏捷Web开发·第三版

    10. **Ajax与JavaScript**:Rails内置了Prototype JavaScript库,也支持jQuery等其他库,方便实现异步更新和页面交互。 11. **部署与运维**:了解如何在各种服务器环境如Heroku、AWS上部署Rails应用,以及如何进行...

    prototype.js

    Prototype.js与jQuery、Dojo等其他JavaScript库相比,虽然在某些方面功能可能稍显逊色,但它更注重于提高代码的可读性和可维护性,特别是对于熟悉JavaScript原型机制的开发者来说,Prototype.js的API设计更为直观。...

    Ajax on Rails

    Ajax on Rails 是一种将 AJAX(Asynchronous JavaScript and XML)技术与 Ruby on Rails 框架相结合的方法,以创建高度交互性和动态更新的Web应用程序。Rails框架的流行在很大程度上得益于其与AJAX的无缝集成,这...

    RJS Templates for Rails

    同时,Rails还支持其他JavaScript库如jQuery,只需适当配置即可。 压缩包中的文件列表: - **OReilly.RJS.Templates.for.Rails.Jun.2006.chm**:这可能是一个关于RJS模板的电子书,详细介绍了如何在Rails项目中...

    ajax-rails

    3. **JQuery-ujs驱动**:Rails默认集成了jQuery库,JQuery-ujs驱动为Rails提供了与Ajax交互的桥梁。它监听带有`data-remote`属性的元素,并处理Ajax请求和响应。 4. **Ajax请求的生命周期**:在Rails中,一个Ajax...

    最新Prototype手册

    同时,由于其与Rails框架的紧密集成,常被用于Ruby on Rails项目中。 五、学习资源与社区 学习Prototype.js,可以参考官方文档,查阅各种教程和示例代码,同时,Stack Overflow 和其他开发者论坛是获取帮助和分享...

    Prototype1.6 JS 官方下载地址

    如果您想获取完整的开发包(包括单元测试),可以使用 Subversion 来 Checkout 源代码:svn co http://svn.rubyonrails.org/rails/spinoffs/prototype/trunk。然后,可以使用 rake dist 构建分布式包,并查看贡献...

    nested_form:Rails插件可在一个表单中方便地处理多个模型

    它通过jQuery或Prototype以一种毫不干扰的方式做到这一点。 此gem仅适用于 。有关可在Rails 2中使用的插件,请参见。 可以在找到示例项目,该示例如何工作。 设置 将其添加到您的Gemfile中,然后运行bundle进行...

    jQuery+angularjs+HTML+EMAC+JavaScript+linux等.zip

    最新的版本是ECMAScript 2022,包含了各种新特性,如Promise.allSettled、String.prototype.replaceAll等,持续推动JavaScript的发展。 7. **Linux**:Linux是一种自由和开源的操作系统内核,常用于服务器环境。在...

    selectivizr-rails:通过资产管道包含 Selectivizr.js 库的 Gem 包装器

    要求轨道 3.1+ 主要的 JavaScript 库(JQuery、Prototype 等)必须包含在 selectivizr 包含标记之前。贡献这个 repo 应该没什么关系,但是如果你想改进代码或做一个版本提升,只需 fork 代码并提交拉取请求。 我尝试...

    js框架及介绍

    它简单易学,被广泛应用于Rails项目。Prototype的优点是小巧、易用,是开发特效库的良好基础。缺点是功能相对较弱,不专注于特定领域。 3. Scriptaculous: Scriptaculous是基于Prototype的JavaScript效果库,提供...

    javascript apis ruby api

    jQuery和Prototype是JavaScript中常用的两个库,它们简化了DOM操作,提供了高效的事件处理和动画效果。jQuery以其“Write Less, Do More”的理念,提供了一套简洁的API,使开发者能高效地进行DOM选择、遍历和操作。...

Global site tag (gtag.js) - Google Analytics