Tabindex в модальном диалоговом окне jquery

Я пытаюсь установить индекс вкладки для всех элементов ввода в форме, которая отображается в диалоговом окне jquery. Текущее поведение заключается в том, что когда пользователь начинает вкладку (первому элементу устанавливается фокус, поэтому он является первым в строке), он может перемещаться по всем элементам управления. Проблема в том, что они могут продолжать переходить к элементам за диалоговым окном.

Есть ли способ предотвратить это и ТОЛЬКО вкладку через элементы формы в открытом диалоговом окне?


person The Sheek Geek    schedule 20.09.2011    source источник


Ответы (3)


Я даю вам логику. вы можете написать код соответственно.

В последний элемент вашей формы добавьте обработчик событий для обработки события нажатия клавиши.

Внутри функции обработчика вы должны вернуть true, если ключ не TAB, иначе вернуть false.

Это означает, что в этом поле будут работать только клавиши, отличные от TAB.

Вы можете погуглить ascii-код вкладки. вы используете код Google для обработки ключевых событий.

Спасибо

person Imdad    schedule 20.09.2011
comment
Если вы используете jquery, вызовите event.preventDefault() в функции обработчика, если нажата TAB. - person Imdad; 21.09.2011

подсчитайте, сколько элементов у вас есть, и установите его так, чтобы, если ваш tabindex == numberOfTabs, он был сброшен до исходного индекса.

если вам нужно сделать это за пределами какой-либо функциональности и т. д., сделайте это со скрытым вводом

then in the js for the tab event access and update the tabindexCurrent val() to the new one

person Evan    schedule 20.09.2011

Да, есть решение этой проблемы. Я столкнулся с той же проблемой.

Чтобы заставить его работать, вы должны использовать jquery.ui.dialog.js … включить его на свою страницу. Также добавьте код модального диалога jQuery в document.ready.

person Yogesh Zagade    schedule 06.07.2012