【发布时间】:2014-04-10 11:13:07
【问题描述】:
问题
有没有一种很好的技术可以避免在 AJAX 响应中调用相同的代码 javascript(jquery)?
示例
假设我有这些视图和 js 文件
index.html.erb
<div class="listing_users">
<%= render @users %>
</div>
_user.html.erb
<div class="user">
<%= @user.name %>
</div>
users.js
$(document).ready(function() {
$(".user").css({"background-color": "red"})
})
当我通过 AJAX 创建新用户时,我让 rails 在我的 create.js.erb 响应中呈现它。
$(".listing_users").append("<%= j(render(:partial => @users)) %>")
$(".listing_users").css({"background-color": "red"})
$(".listing_users").css({"background-color": "red"}) 行需要用于新渲染的部分。
可能的解决方案
我知道我可以做这样的功能
function set_red(){
$(".user").css({"background-color": "red"})
}
并且只在 DOM 准备好时和在 AJAX 响应中调用它。但是,这也调用了两次代码。
【问题讨论】:
标签: javascript jquery html ruby-on-rails ajax