Когда вы используете jquery, убедитесь, что вы используете mouseenter
и mouseleave
вместо mouseover
и mouseout
в этих случаях. mouseover
и mouseout
срабатывают даже при вводе дочернего элемента . Если у вас есть код для сокрытия вещей, вы не хотите, чтобы он запускался в меню в этот момент, вы хотите, чтобы он запускался, когда вы полностью выходите из <li>
и считаете, что ребенок все еще внутри ... 1018 * и mouseleave
do:)
Существует также ярлык для этого, называемый .hover()
, который использует такие события mouseenter
и mouseleave
, как это:
$(selector).hover(mouseenterFunc, mouseleaveFunc);
Вот пример:
$("li").hover(function() {
$(this).children("ul").slideDown();
}, function() {
$(this).children().slideUp();
});
Вы можете увидеть приведенный выше код в быстрой демонстрации против вашего размещенного дерева здесь