Так скажем, у меня есть блок вложенной дивы:Проблема с Нестабильными событиями и родителями
<div class='nested'>
<div class='nested'>
<div class='nested'></div>
</div>
</div>
Я хочу, чтобы такого рода поведение:
- Hover на делах. Этот конкретный div изменяет цвет фона, а его дети этого не делают.
- Наведите указатель мыши на ребенка этого дива. Опять же, он меняет цвет, пока его дети этого не делают, И (важно) его родитель возвращается к исходному цвету.
- Вернитесь к родительскому div. Ребенок возвращается к исходному цвету, родитель снова меняет цвет.
Первые два шага легко:
$(function() {
$('.nested').bind('mouseenter',function() {
$(this).css('background-color','#EEE');
$(this).parent().css('background-color','white');
}).bind('mouseleave',function() {
$(this).css('background-color','white');
});
});
Но я ударил загвоздка в этот последний шаг, потому что, когда я вхожу ребенка DIV событие MouseEnter еще активен на родителя; все, что я сделал, это заставить его выглядеть так, как будто это не так. Единственный способ вызвать движение мыши на родителях - полностью закрыть вложенный блок и снова ввести его. Есть ли способ обойти это?