Блокирование интерфейса. Добавление нового элемента
Добрый день!
Суть проблемы: есть некий интерфейс, по нажатию определенной кнопки происходит добавление новых полей и полный ререндеринг всех элементов. Поскольку элементов на вкладке очень много, этот процесс занимает продолжительное время. Это не правильно и в ближайшее время будет переделано, но речь сейчас не об этом.
Необходимо сделать блокировку интерфейса на время, пока происходит перестроение страницы: стандартный прозрачный блок поверх страницы с "Пожалуйста, подождите".
Как я пробовал это реализовать:
1. jquery-плагин $.blockUi();
2. Добавление блокируещего div'a на страницу и show() его, когда необходимо.
3. Создание div'a в скрипте и $("body").append() его, когда необходимо.
Проблема в том, что блокировка, в любом случае, срабатывает после ререндеринга. То есть, по нажатию кнопки запускается функция, которая добавляет блокирующий div на страницу, а затем запускает добавление элементов и ререндеринг вкладки, а в результате по нажатию кнопки интерфейс зависает (ререндеринг), потом появляются новые элементы, а потом срабатывает уже никому не нужная блокировка.
Может кто-нибудь подсказать, с чем это связано и как его бороть?
|