Используя jQuery, как мне узнать, находится ли элемент в данный момент - PullRequest
1 голос
/ 02 марта 2011

Я создаю выпадающее мега-меню.Меню появляется только при нажатии на элемент списка навигации.Я хочу, чтобы он скрывался при наведении мыши, но только после того, как функция запустила setTimeout за полсекунды.Это предотвратит случайное отключение мыши, например, если щелкнуть мышью по элементу списка, но затем немного переместится из раскрывающегося выпадающего мегаменю, которое находится в пределах li.

Итак, основной вопрос в том, как мне использовать jQuery, чтобы определить, находится ли элемент в данный момент в процессе поиска?Сохраню меню (если пользователь переместил мышь наружу, но сразу вернулся в li).

Если через полсекунды мышь все еще находится за пределами li, то скрыть меню.

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Если вы просто очистите тайм-аут, используя clearTimeout, когда вы mouseenter или mouseover меню, то это решит вашу проблему.

Затем все, что вам нужно сделать, это сбросить тайм-аут, когда произойдет следующее mouseout или mouseleave.

1 голос
/ 02 марта 2011

Единственный способ найти это - использовать плагин hoverIntent:

http://cherne.net/brian/resources/jquery.hoverIntent.html

0 голосов
/ 02 марта 2011

jQueryReferenceToElement.is(':hover')

...