функция document.ready (), замедляющая производительность моего пользовательского интерфейса - PullRequest
0 голосов
/ 27 сентября 2011

В моем приложении есть страница пользовательского интерфейса, загрузка которой занимает много времени.

В исходном коде HTML, как вы можете видеть, у меня есть ряд .click () обработчиков событий jquery в функции document.ready (), как показано ниже:

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


... and many more...

Влияет ли это на производительность моей страницы?Поможет ли перемещение этого обработчика .click в тело HTML улучшить его?

Еще одна вещь, я использую iframe для загрузки другой страницы в том же домене.Но даже если я уберу тег iframe, улучшение производительности не так уж и много.Я знаю, что этот элемент iframe является основным узким местом в производительности моего приложения, и в конечном итоге я его удалю, но есть еще кое-что, что мне нужно сделать для этой страницы.что это может быть за конкретная вещь?

Моя страница медленно работает медленно, даже если у меня chrome завис, когда я пытался получить исходный код для воспроизведения сценария в jsbin. :(

1 Ответ

2 голосов
/ 27 сентября 2011

Похоже, вы могли бы сократить количество обработчиков кликов до 1, поскольку все они, кажется, делают одно и то же.

Если вы можете поместить классы select и deselect в элементы, которые выможно просто сделать это:

 $(".select, .deselect").click( function() {
    var t = $(this);
    $("#" + t.attr('rel') + " input:checkbox")
        .attr('checked', t.hasClass('select'));
    return false;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...