JQuery - не выполнять очередь, если элемент в форме имеет фокус? - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть элемент div, который содержит небольшую форму и сетку данных dhtmlx. Этот div редко используется, поэтому я использую jQuery slideUp, чтобы скрыть его, когда он не нужен. Я прикрепил события mouseenter и mouseleave к div для настройки и отмены slideUp, чтобы при наведении мыши на div он не исчезал.

Однако моя проблема возникает, когда пользователь щелкает по одному из элементов формы или по сетке данных, а затем убирает мышь. Очевидно, что пользователь все еще требует, чтобы div был видимым, но событие mouseleave затем вызывает div для slideUp!

Есть ли в jQuery возможность проверить, находится ли какой-либо элемент внутри элемента div? Тогда, если что-то имеет фокус, я могу отменить вызов slideUp.

1 Ответ

1 голос
/ 19 ноября 2011

Посмотрите на свойство focus, которое добавлено из jQuery 1.6 +

Если вы хотите найти фокус ввода, используйте это:

if( $("#mydiv input:focus").length > 0 ) {}
...