Я столкнулся с действительно странной проблемой: IE9 и IE10 (только для Win7).Кнопка остается активной при добавлении в DOM
Если HTML элемент (кнопка, пролет, якорь) имеет прикрепленную щелчок слушателя, который удаляет себя (или его контейнер) из DOM - а затем на более позднем этапе некоторые другие события (например: сброс) добавляет элемент назад, элемент все еще остается в состоянии «: hover», даже без мыши, зависающего над элементом.
ПОЧЕМУ действительно делает IE 9 & IE10 (Win7) это? Кроме того, есть ли обходной путь, не прибегая к какому-то setTimeout async call?
Взгляните на эту JSBin: IE hover/active on remove/add
код из JSBin
<div id="outer" style="border: 2px solid green; padding: 10px;">
<div id="container" style="border: 2px solid black; padding: 5px;">
<button id="button">Hide Me</button>
</div>
</div>
<button id="reset" style="margin-top: 20px">Reset</button>
И в JS:
var outer = document.getElementById('outer');
var container = document.getElementById('container');
var button = document.getElementById('button');
button.addEventListener('click', function() {
outer.removeChild(container);
}, false);
var reset = document.getElementById('reset');
reset.addEventListener('click', function() {
outer.appendChild(container);
}, false);
Да, на данный момент я реализовал аналогичный асинск, но он уродлив = (я подожду пару дней, чтобы узнать, может ли кто-нибудь найти более чистое решение, иначе я приму ваше –