Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   IE баг со скоростью обработки DOM (https://javascript.ru/forum/events/25716-ie-bag-so-skorostyu-obrabotki-dom.html)

Rootpassword 13.02.2012 16:50

IE баг со скоростью обработки DOM
 
IE. такой неприятный баг. По клику вызывается функция, которая перемещает объект по DOM структуре(конкретно меняет местами с соседом, функции получения соседа прилагаются). По логам и визуально вижу, что не каждый клик в ИЕ перемещает элемент, если кликать быстро. Остальные браузеры ОК. Судя по всему, из-за хренового механизма отработки изменения структуры DOM волной, которая тормозится до завершения работы скрипта.
Конечно, можно завести массив, и откручивать события кликов по очереди, или еще как-то. Но :help: можно ли спровоцировать ИЕ на форсированную пересборку 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;                
}

Kolyaj 13.02.2012 18:05

IE просто не регистрирует быстрые клики. DOM не причём.

DreamTheater 13.02.2012 18:16

Исправляется удалением IE :)


Часовой пояс GMT +3, время: 10:14.