У меня есть запросчик div, закрывающий всю мою страницу, и я хочу запретить доступ к другим элементам страницы, используя TAB, пока открыто диалоговое окно. Как я могу это сделать?
div
Вы можете установить для каждого элемента значение disabled или установить для них tabindex на ноль. Используйте jQuery для установки $(selector).prop('disabled',true) или $(selector).attr('tabindex',0).
disabled
tabindex
$(selector).prop('disabled',true)
$(selector).attr('tabindex',0)
jQuery UI делает это путем привязки к событию keypress для модальных диалоговых окон. Когда нажата TAB , она вручную выполняет переключение фокуса между элементами только в модальном диалоге. Поведение по умолчанию подавлено (return false), поэтому фокус не переключается на внешние элементы.
keypress
return false
Соответствующий источник здесь: ui / jquery.ui.dialog.js