我有以下Jquery代码:
$(document).ready(function() {
$('tr[href]').click(function(event) {
$('tr[href]').removeClass('selected')
$(this).addClass('selected');
event.preventDefault();
$('#profile').load('home/users/1');
event.stopPropagation();
});
});
每次单击目标时,我发现.load函数会在最后一次单击时加载窗口的两倍。例如,在rails日志中,它同时显示多个Started GET "/home/users/1
因此我的应用程序变得缓慢而缓慢。下面是加载窗口的视图文件:
<div class="col-md-5" >
<div class="table table-responsive" >
<div id='list' >
<% if params[:q] == 'a' %>
<%= render 'users' %>
<% elsif params[:q] == 'b' %>
<%= render 'jobs_index' %>
<% else %>
<%= render 'lineitems' %>
<% end %>
</div>
</div>
</div>
<div class="col-md-5">
<div id="profile">//load the window
</div>
任何人都可以告诉我为什么会这样吗?非常感谢!
答案 0 :(得分:0)
我解决了。
我在application.js中修改了代码$('#profile').load('home/users/1');
,如下所示:
var url="home/users/"+$(this).attr("href")
$('#profile-outline').load(url+" #special");
并在html文件的最外层添加一个。然后问题解决了。 总之,只需使用load(&#34; url#container&#34;)来替换load(&#34; url&#34;)。