Показать сообщение отдельно
  #10 (permalink)  
Старый 21.03.2013, 18:10
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

elem.onpropertychange = function() {
    if (!elem._lock) {
        setTimeout(function() {
            // блокируем выполнение повторного события
            elem._lock = true;

            // тут много-много-много-много кода
            // ....

            // снимаем блокировку
            elem._lock = false;
        }, 0);
    }

    // обработчик будет спокойно отпущен
    // сразу же после выполнения setTimeout();
    // не ожидая выполнения вложенных скриптов
    //
    // повторный вызов события не запустит огромный код,
    // если он был ранее запущен и еще не выполнился.
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием