У меня есть серия элементов DIV, которые при нажатии запускают событие открытия DOMWindow.Нет проблем там.
Затем мне пришлось добавить доступность клавиатуры.DOH !!
Я добавил атрибуты tabindex в DIV, что позволяет пользователю переходить с одного DIV на другой, и добавил обработчик нажатия клавиш для работы с клавишей Enter.Никаких проблем там нет.
Проблема, с которой я сталкиваюсь, - это попытка вернуть фокус обратно на тот div, на котором находился пользователь, когда он или она нажали клавишу ввода и открыли окно DOMW (чтобы они могли продолжить вставку вследующий DIV в серии).
Я попытался добавить функцию в настройку «functionCallOnClose» в DOMWindow, но, похоже, это ничего не делает.
Вот фрагмент кода.Это связывает события click и keypress со всеми DIV, которые имеют имя класса «timeEntry»:
$(".timeEntry").live("click keypress", function () {
// bunch of code here to set up the DOMWindow...
$.openDOMWindow({
// bunch of settings here...
functionCallOnClose: function () {
// this doesn't work
// 'DivId' is the object (DIV) that was clicked on
$(DivId).focus();
}
});
});
Кто-нибудь знает, почему я не могу вернуть фокус к исходному DIVпосле того, как события нажатия или нажатия клавиш запускаются и обрабатываются?
Я понимаю, что это довольно непонятный вопрос, поэтому я добавлю его в надежде, что кто-то еще, читающий это, использует JQuery, DOMWindow и обрабатывает щелчоки события нажатия клавиш (или, по крайней мере, знает, как)
: o)
РЕДАКТИРОВАТЬ: После некоторой дальнейшей отладки кажется, что есть проблема с получением JQueryАтрибут tabIndex из тегов DIV.Когда я просматриваю источник моей страницы, я вижу атрибуты:
<div id="someDiv" class="someClass" tabindex="1"> ... </div>
Однако, когда я пытаюсь получить атрибут с помощью jQuery, он не появляется там.
Этот код возвращает «undefined»
var tabindex = $("#someDiv").attr("tabindex");
Однако, если я задаю атрибут с помощью jQuery, я могу обернуться и получить его:
// set the tabindex
$("#someDiv").attr("tabindex", "1");
// now this returns "1"
var tabindex = $("#someDiv").attr("tabindex");
Кто-нибудь знает, почему jQuery не делаетне вернуть атрибут tabindex, когда он установлен в HTML, но он будет после того, как он будет установлен динамически с использованием кода?
Надеюсь, что это имеет смысл ...