JQuery Аккордеонный Фокус - PullRequest
       7

JQuery Аккордеонный Фокус

2 голосов
/ 06 апреля 2010

Это мой первый пост, поэтому дайте мне знать, если вам нужна дополнительная информация!

Я использую список выбора и аккордеон jQuery. Когда пользователь выбирает значение из списка, он открывает соответствующую часть аккордеона, используя метод активации.

Это прекрасно работает, кроме того, что оно фокусирует окно на аккордеоне, а не оставляет пользователя в том же месте.

Кто-нибудь знает, как это предотвратить?

1 Ответ

2 голосов
/ 06 апреля 2010

Вы можете сохранить текущий активный элемент и восстановить фокус после того, как пользователь нажмет на заголовок аккордеона.

Вы можете получить фокусированный элемент, используя следующий код:

function onElementFocused(e)
{
    if (e && e.target)
        document.activeElement =
        e.target == document ? null : e.target;
} 

if (document.addEventListener)
    document.addEventListener("focus", onElementFocused, true); 

Это сохранит текущий фокусированный элемент в переменной document.activeElement.

Используя событие changetsart и / или change с аккордеоном, вы можете восстанавливать фокус на желаемом элементе каждый раз, когда меняется аккордеон.

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

Приведенный выше код не проверен, как и идея, но он должен работать, я считаю.

...