首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从原型转换为JQUERY

从原型转换为JQUERY
EN

Stack Overflow用户
提问于 2010-12-24 08:07:24
回答 1查看 1.1K关注 0票数 1

我目前有一个Rails网站,其中包含一些原型脚本。但是,我的老板希望我将页面转换为使用JQUERY库。我在Javascript编程方面没有太多的经验,所以我有点困惑。我基本上下载了一个名为“jrails”的插件,它可以帮助移动Prototype 'script.aculo.us‘中需要的帮助程序,并将它们转换成JQUERY可以理解的内容。

以下是两个代码:

原型:

代码语言:javascript
运行
复制
new Form.Element.Observer('new_member_search', 0.5, function(element, value){
    new Ajax.Updater('ProjectMemberNew', '/of/user/search', {
        asynchronous:true,
        evalScripts:true,
        parameters:'username=' + encodeURIComponent(value)
    }); 
});

Jquery:

代码语言:javascript
运行
复制
$('#new_member_search').delayedObserver(0.5, function(element, value){
    $.ajax({
        data:'username=' + value,
        success:function(request){
            $('#ProjectMemberNew').html(request);
        },
        type:'post', 
        url:'/of/user/search'
    });
});

原型代码运行良好,但Jquery似乎由于某种原因没有运行。顺便说一下,我并没有改变视图中的任何东西,只是在页面中包含了'jrails‘。知道为什么这不管用吗?谢谢,

编辑1:

所以我在Firebug中运行了一些测试,我想也许我应该发布原始的rails代码:

代码语言:javascript
运行
复制
 <%= drop_receiving_element drop_id,
  :onDrop => "function(drag_element, drop_element, event){
if (confirm(\"#{escape_javascript(_('This will remove User from this Group, are you sure?'))}\"))
{#{remote_function(:update => 'module_content',
:url => {:controller => :projects,
:action => :member_delete,
:id => @project.id},
:with => "'u=' + encodeURIComponent(drag_element.id)"
)};}
}",
  :accept => 'RolesUsersSelection',
  :hoverclass => "#{drop_class}_active"

%>

当我在firebug上运行网页时,jquery版本给了我几个错误:

代码语言:javascript
运行
复制
Prototype is not defined
[Break On This Error] linear: Prototype.K,
effect...2478493 (line 71)
$.effects is undefined
[Break On This Error] $.effects.drop = function(o) {
jquery...4111587 (line 15)
$("#RemoveThisMember").droppable is not a function
[Break On This Error] }, hoverClass:'ProjectRoleDropDelete_active'})
member_edit (line 323)
$("#role_15_user_4").draggable is not a function
[Break On This Error] $("#role_15_user_4").draggable({revert:true}) 

有件事告诉我,我不能在不对rails代码做任何更改的情况下直接转移到jquery库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-14 09:11:25

您必须首先初始化jquery,然后是jquery,然后是jrails。如果不是按照这个顺序,delayedObserver或任何其他帮助程序都不会初始化。确实很奇怪。https://github.com/aaronchi/jrails/issues#issue/6

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4525061

复制
相关文章

相似问题

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