Повторюсь, не работает именно перехват события, вместо него происходит всплытие.
Для примера, есть такой упрощенный код:
var cont = document.querySelector('.cont'),
btn = document.querySelector('.btn');
init();//return 3
cont.addEventListener('DOMSubtreeModified', init, true);
btn.onclick = function(){
var div = document.createElement('div');
cont.appendChild(div);
}
function init(){
alert(cont.children.length);
}
Проблема в том, что при клике, вначале перестраивается дерево, только после выполняется функция init(). Таким образом, init() после клика возвращает 4.
Кнопка с контейнером находятся на одном уровне (соседи), может быть проблема в этом? Но было бы странным, так как перехватывается именно изменение дерева контейнера, а не клик кнопки.
Chrome 24.0
В чем дело не пойму, может я на чем ошибся?
Заранее признателен.