Показать сообщение отдельно
  #1 (permalink)  
Старый 13.02.2012, 16:50
Server
Отправить личное сообщение для Rootpassword Посмотреть профиль Найти все сообщения от Rootpassword
 
Регистрация: 26.09.2011
Сообщений: 252

IE баг со скоростью обработки DOM
IE. такой неприятный баг. По клику вызывается функция, которая перемещает объект по DOM структуре(конкретно меняет местами с соседом, функции получения соседа прилагаются). По логам и визуально вижу, что не каждый клик в ИЕ перемещает элемент, если кликать быстро. Остальные браузеры ОК. Судя по всему, из-за хренового механизма отработки изменения структуры DOM волной, которая тормозится до завершения работы скрипта.
Конечно, можно завести массив, и откручивать события кликов по очереди, или еще как-то. Но можно ли спровоцировать ИЕ на форсированную пересборку DOM структуры?
function next_elem(elem) {
    do {
        elem = elem.nextSibling;
    } while (elem && elem.nodeType != 1);
    return elem;                
}


function previous_elem(elem) {
    do {
        elem = elem.previousSibling;
    } while (elem && elem.nodeType != 1);
    return elem;                
}
Ответить с цитированием