document.ready()函数减慢了我的UI性能

时间:2011-09-27 15:22:43

标签: jquery javascript-events performance

我的应用程序中有一个UI页面需要花费很多时间才能加载。

在HTML源代码中,正如您所看到的,我在document.ready()函数中有一系列 .click() jquery事件处理程序,如下所示:

 $(document).ready(function()  {
$("#selectAllCountry").click( function() {
    $("#" + $(this).attr('rel') + " INPUT[type='checkbox']").attr('checked', true);
    return false;
});


... and many more...

是否会影响我的网页效果?在HTML正文中移动这个.click处理程序会有助于改进吗?

还有一件事,我使用 iframe 在同一个域中加载另一个页面。但是,即使我删除iframe标记,性能提升也不多。我知道,这个iframe的东西是我的应用程序性能的主要瓶颈,我最终会将其删除,但我还需要为此页面做些其他事情。那个特别的东西可能是什么?

我的页面性能缓慢,甚至,当我试图获取源代码以重现jsbin中的情节时,y chrome被绞死。:(

1 个答案:

答案 0 :(得分:2)

看起来您可以将点击处理程序的数量减少到1,因为它们似乎都做同样的事情。

如果你可以在元素上放置selectdeselect的类,你可以这样做:

 $(".select, .deselect").click( function() {
    var t = $(this);
    $("#" + t.attr('rel') + " input:checkbox")
        .attr('checked', t.hasClass('select'));
    return false;
});