DOM не обновляется в IE так быстро - PullRequest
0 голосов
/ 19 марта 2012

jquery-loadmask не работает должным образом в IE8

У меня та же проблема. Это была проблема с DOM, которая не обновлялась в IE так быстро.

шаг первый, jQuery ("# ​​content"). Mask ("Processing ....");

Шаг второй, AJAX .............

шаг третий, jQuery ("# ​​content"). Unmask ();

Я установил точку останова на первом шаге. После того, как я нажму кнопку отладки [шаг за шагом] Маска div отображается сразу в Firefox, а не в IE и Chrome.

Исправлено, фокусируя маску div после выполнения вызова, чтобы загрузить его ??? не могли бы вы объяснить более подробно? некоторые операции, такие как jQuery ("# ​​content"). focus () ??

прости мой плохой английский.

1 Ответ

0 голосов
/ 19 марта 2012

IE часто откладывает изменения на экране до завершения потока Javascript. Они (Microsoft) считают, что это оптимизация. Ведь последовательность

  1. Показать экран маски
  2. поработай
  3. Снять маску экрана

выполняет те же (постоянные) экранные эффекты, что и

  1. поработай

Решение Завершите поток, передав управление обратно самому IE. Сделайте это, позвонив setTimeout с задержкой 0 мс.

  1. Показать экран маски
  2. setTimeout для вызова следующей функции с задержкой 0 мс
  3. поработай
  4. setTimeout для вызова следующей функции с задержкой 0 мс
  5. Снять маску экрана
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...