.load()Jquery函数同时加载重复窗口

时间:2014-11-17 09:16:18

标签: javascript jquery ruby-on-rails

我有以下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>

任何人都可以告诉我为什么会这样吗?非常感谢!

1 个答案:

答案 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;)。