当使用键盘时,tabindex是个关键因素,它用来定位html元素。
tabindex有三个值:0 ,-1, 以及X(X里32767是界点,稍后说明)
先写一个小例子了解下:
<p> <a href="http://www.dreamdu.com/xhtml/" tabindex="1">1</a> <a href="http://www.dreamdu.com/css/" tabindex="3">3</a> <a href="http://www.dreamdu.com/javascript/" tabindex="2">2</a> </p> <p>连续按 "Tab",可以改变焦点的位置.遍历的顺序是1-2-3.</p>
原本在Html中,只有链接a和表单元素可以被键盘访问(即使是a也必须加上href属性才可以),但是aria允许tabindex指定给任何html元素。
(1)当tabindex=0时,该元素可以用tab键获取焦点,且访问的顺序是按照元素在文档中的顺序来focus,即使采用了浮动改变了页面中显示的顺序,依然是按照html文档中的顺序来定位。
(2)当tabindex=-1时,该元素用tab键获取不到焦点,但是可以通过js获取,这样就便于我们通过js设置上下左右键的响应事件来focus,在widget内部可以用到。
(3)当tabindex>=1时,该元素可以用tab键获取焦点,而且优先级大于tabindex=0;不过在tabindex>=1时,数字越小,越先定位到。
兼容: 在IE中,tabindex范围在1到32767之间(包括32767),在FF, Chrome无限制,不过一旦超出32768,顺序跟tabindex=0时一样。这个估计跟各个浏览器对int型的解析有关。
补充说明:学习bootstrap的modal时,用到了该属性。
在bootstrap模态框里有一行属性tabindex="-1"在模态框外层标签里,这里作用是如果设置为-1,就表示modal框脱离了全局html的tab切换页面,独立出来,最终形成你要的结果!
例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Bootstrap 实例 - 模态框(Modal)插件</title> <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> 开始演示模态框 </button> <input type="text"> <!-- 模态框(Modal) --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true"> × </button> <h4 class="modal-title" id="myModalLabel"> 模态框(Modal)标题 </h4> </div> <div class="modal-body"> 在这里添加一些文本 姓名:<input type="text"> <!--电话:<input type="tel" tabindex="-1">--> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">关闭 </button> <button type="button" class="btn btn-primary"> 提交更改 </button> </div> </div><!-- /.modal-content --> </div><!-- /.modal --> </div> </body> </html>
这里我尝试tabindex="-1"效果,实践后总结出:
tabindex="-1"作用是脱离全局HTML的TAB切换,独立出来。如果不加的话,当模态框显示时,TAB键会切换到除模态框以外遮罩层下的文档节点
所以说tabindex="-1"常用在弹框中,防止切换混乱
相关推荐
TabIndex = 1 Top = 7680 Width = 2535 End Begin VB.Label Label1 BackStyle = 0 'Transparent Caption = "菲力牛排" BeginProperty Font Name = "黑体" Size = 15 Charset = 134 Weight = 700 ...
TabIndex = 0 Top = 1080 Width = 2415 End Begin VB.TextBox TextPwd Height = 375 IMEMode = 3 'DISABLE Left = 1920 PasswordChar = "*" TabIndex = 1 Top = 1560 Width = 2415 End Begin VB....
Object = "{67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0"; "Msadodc.OCX" Begin VB.Form FrmLogin BackColor = &H00FFFFFF& BorderStyle = 0 'None Caption = "学生信息管理系统" ClientHeight = 10005 ...
vb_ASCII对照表 个label,2个text VERSION 5.00 Begin VB.Form Form1 Caption = "ASCII对照表 制作:雨毅无痕 QQ:775148563" ClientHeight = 6015 ... TabIndex = 3 Top = 2760 Width = 6735 End
Object = "{67397AA1-7FB1-11D0-B148-00A0C922E820}#6.0#0"; "MSADODC.OCX" Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX" Begin VB.Form main_jbxx_kh BackColor = &H00C0C0C0;& ...
Height = 390 Left = 150 TabIndex = 1 Top = 2040 Width = 2760 End Begin RichTextLib.RichTextBox RTf1 Height = 6105 Left = 3120 TabIndex = 0 Top = 30 Width = 6615 _ExtentX = 11668 _ExtentY = 10769 _...
标题“tabindex-focus-navigation-explainer”明确指出了我们将深入探讨这个主题。 首先,我们来理解一下 `tabindex` 的基本概念。默认情况下,只有可聚焦元素(如链接、表单控件等)才能通过 Tab 键获取焦点。`...
1. **支持范围**:`tabIndex`属性最早在IE 4.0版本中得到支持,现在几乎所有的现代浏览器都支持此属性。任何HTML元素都可以设置`tabIndex`,包括那些通常不与键盘交互的元素。 2. **值的含义**: - `tabIndex=0`:...
TabIndex = 1 Top = 720 Visible = 0 'False Width = 90 End Begin VB.Label Label1 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "单击“备份”按钮,开始备份数据库。" Height = 180 ...
模态框嵌套 在开发中,遇到需要通过点击...<div class=modal id=outermost tabindex=-1 role=dialog aria-labelledby=myModalLabel> <!--第一个模态框--> <div class=modal-dialog modalWith firstModal
this.vmTcpIpServer1.TabIndex = 0; // // vmTcpIpClient1 // this.vmTcpIpClient1.AutoRecover = false; this.vmTcpIpClient1.Collapse = false; this.vmTcpIpClient1.ConnRetries = -1; this....
3. tabindex属性值为0的元素,将在没有明确tabindex属性值的其他元素之后进行聚焦。这有助于定义一个自定义的Tab顺序而不影响那些没有明确tabindex的元素的自然顺序。 4. 如果页面上同时存在多个元素设置了相同的正...
<div class=modal id=myModal tabindex=-1 role=dialog aria-labelledby=myModalLabel aria-hidden=true> <div class=modal-dialog> <div class=modal-content> <div class=modal-header> <button type=...
TabIndex = 0 Top = 240 Width = 4215 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed =...
在HTML中,`tabindex`属性用于定义元素的Tab顺序,即用户按下Tab键时,浏览器会按照这个顺序在各个可聚焦元素之间切换。默认情况下,并非所有元素都可以获取焦点,如段落文本、图像等。但通过设置`tabindex`,我们...
`tabIndex`属性是JavaScript中一个非常实用的功能,主要用于提升网页表单的可访问性和交互性。这个属性允许开发者自定义用户使用键盘Tab键在页面元素间切换的顺序,而不仅仅是按照HTML元素出现的顺序。这在创建无...
接着计算出适当的空白字符串长度,以便能够完全覆盖`Text1`控件的宽度,然后将空白字符串与`Text2`中的文本连接起来。 ```vb Private Sub Command2_Click() Text1.Text = "" Command1.Enabled = True Command2....
在网页设计中,`TabIndex` 是一个非常关键的属性,它用于控制用户通过键盘上的Tab键在页面元素间切换焦点的顺序。这个属性对于提升网页的可访问性和用户体验至关重要,尤其是对于那些依赖键盘操作而非鼠标的用户来说...
在el-dropdown组件中,可以通过slot属性定义下拉菜单的内容。例如,在本文代码示例中使用了slot="dropdown"来自定义下拉内容。 知识点十:前端代码调试 在开发过程中,前端代码的调试是必不可少的环节。通过控制台...