我试图在我的rails应用程序中使用jQuery,通过单击按钮在两个分音之间进行切换。所需的行为如下:页面呈现用户的配置文件和一个“编辑配置文件”按钮。当单击配置文件部分上的“编辑配置文件”按钮时,将从DOM中删除部分配置文件,并呈现编辑配置文件部分。当编辑配置文件部分上的“保存”按钮被点击时,操作应该反转并再次显示用户的配置文件。我刚接触jQuery,但在stackoverflow的帮助下,我使用了以下脚本:
<script language="javascript" type="text/javascript">
jQuery(
function editProfile($) {
$('#edit').click(function() {
$("#edit-profile").html('<%= escape_javascript(render :partial => "shared/edit_profile").html_safe %>');
$("#show-profile").empty();
});
}
);
jQuery(
function showProfile($) {
$('#save').click(function() {
$("#show-profile").html('<%= escape_javascript(render :partial => "shared/show_profile").html_safe %>');
$("#edit-profile").empty();
});
}
);
</script>我的html.erb如下:
<div id="show-profile">
<%= render :partial => "shared/show_profile" %>
</div>
<div id="edit-profile"></div>我的问题是,我似乎只能运行一个函数(例如,页面加载和我可以切换到编辑,但不能返回)。任何指导都将不胜感激。
发布于 2014-02-22 13:13:25
具体取决于您应该使用的jQuery版本
1.7之前版本: $('#save').live('click', function(){...})
1.7及更高版本: $('#save').on('click', function(){...})
#edit也是如此。
What is the difference between the bind and live methods in jQuery?
简而言之,
:.bind()将只应用于您当前在jQuery对象中选择的项。.live()将应用于所有当前匹配的元素,以及将来可能添加的任何元素。
https://stackoverflow.com/questions/21949968
复制相似问题