使用 TAB 防止循环浏览页面元素
我有一个请求者 div
,它位于我的所有页面之上,我想在对话框打开时阻止使用 TAB 访问页面的其他元素。我怎样才能做到这一点?
I have a requester div
which is over of all my page and I want to prevent access to other elements of page using TAB while the dialog is opened. How can I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将每个元素设置为
禁用
,或将其tabindex
为零。使用 jQuery 设置$(selector).prop('disabled',true)
或$(selector).attr('tabindex',0)
。You can either set each element to be
disabled
, or set theirtabindex
to zero. Use jQuery to set$(selector).prop('disabled',true)
or$(selector).attr('tabindex',0)
.jQuery UI 通过绑定到模式对话框的
keypress
事件来实现这一点。当按下 TAB 时,它仅手动处理模式对话框内元素之间的焦点切换。默认行为被抑制(返回 false
),因此焦点不会切换到外部元素。相关来源在这里: ui/jquery.ui .dialog.js
jQuery UI does that by binding to the
keypress
event for modal dialog boxes. When TAB is pressed, it manually handles the switching of focus between elements within the modal dialog only. The default behaviour is suppressed (return false
) so focus is not switched to external elements.Relevant source here: ui/jquery.ui.dialog.js