bem / bem-bl

Base BEM library
http://bem.github.com/bem-bl/
198 stars 84 forks source link

Не вызывается деструктор динамически созданного блока #498

Closed dosyara closed 10 years ago

dosyara commented 10 years ago

Я на DOM-ноде создаю блок следующим образом: new BEM.blocks[blockName](domElem, params);

Создается инстанс блока, на ноде появляется класс blockName_js_inited Далее, я удаляю эту ноду через BEM.DOM.update или через destruct другого блока, но деструктор моего созданного блока не вызывается. Фидл с иллюстрацией http://jsfiddle.net/EsJYd/16/

dfilatov commented 10 years ago

Твой фидл немного некорректен: this.destruct() никогда не приводил к удалению другого блока на этой ноде.

dfilatov commented 10 years ago

А вот пример, иллюстрирующий проблему -- http://jsfiddle.net/9VYm9/

dfilatov commented 10 years ago

Кстати, если ты будешь создавать инстанс BEM.DOM-блока не через new (откуда взялся этот способ?), а через рекомендованный domElem.bem('virt'), то все будет нормально.

dfilatov commented 10 years ago

В пул-реквесте фиксится та проблема, про которую я думал изначально -- корректный деструкт блока, неявно созданного на DOM-ноде без css-класса i-bem.