Итак, допустим, у меня есть блок вложенных div:
<div class='nested'>
<div class='nested'>
<div class='nested'></div>
</div>
</div>
Я хочу такое поведение:
- наведите курсор на дел. Этот конкретный 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 все еще активно на родительском элементе; все, что я сделал, это сделал так, чтобы это не было Единственный способ вызвать отпуск мышью у родителей - полностью выйти из вложенного блока и войти снова. Есть ли способ обойти это?