`

TabIndex 属性 Tabindex="-1" 与Tabindex="0"、任意数字

    博客分类:
  • HTML
阅读更多

当使用键盘时,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">
                    &times;
                </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"常用在弹框中,防止切换混乱

 

 

 

分享到:
评论

相关推荐

    sql+vb。点餐系统

    TabIndex = 1 Top = 7680 Width = 2535 End Begin VB.Label Label1 BackStyle = 0 'Transparent Caption = "菲力牛排" BeginProperty Font Name = "黑体" Size = 15 Charset = 134 Weight = 700 ...

    汽车系统(VB编写)

    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....

    发廊管理系统 ,sql+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对照

    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-focus-navigation-explainer”明确指出了我们将深入探讨这个主题。 首先,我们来理解一下 `tabindex` 的基本概念。默认情况下,只有可聚焦元素(如链接、表单控件等)才能通过 Tab 键获取焦点。`...

    用tabIndex轻松实现网页导航

    1. **支持范围**:`tabIndex`属性最早在IE 4.0版本中得到支持,现在几乎所有的现代浏览器都支持此属性。任何HTML元素都可以设置`tabIndex`,包括那些通常不与键盘交互的元素。 2. **值的含义**: - `tabIndex=0`:...

    基于VB客票中心售票系统

    TabIndex = 1 Top = 720 Visible = 0 'False Width = 90 End Begin VB.Label Label1 AutoSize = -1 'True BackStyle = 0 'Transparent Caption = "单击“备份”按钮,开始备份数据库。" Height = 180 ...

    bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码

    模态框嵌套 在开发中,遇到需要通过点击...&lt;div class=modal id=outermost tabindex=-1 role=dialog aria-labelledby=myModalLabel&gt;  &lt;!--第一个模态框--&gt;  &lt;div class=modal-dialog modalWith firstModal

    非常好用的C#.net的TCP控件

    this.vmTcpIpServer1.TabIndex = 0; // // vmTcpIpClient1 // this.vmTcpIpClient1.AutoRecover = false; this.vmTcpIpClient1.Collapse = false; this.vmTcpIpClient1.ConnRetries = -1; this....

    HTML5之tabindex属性全面解析

    3. tabindex属性值为0的元素,将在没有明确tabindex属性值的其他元素之后进行聚焦。这有助于定义一个自定义的Tab顺序而不影响那些没有明确tabindex的元素的自然顺序。 4. 如果页面上同时存在多个元素设置了相同的正...

    BootStrap轻松实现微信页面开发代码分享

    &lt;div class=modal id=myModal tabindex=-1 role=dialog aria-labelledby=myModalLabel aria-hidden=true&gt; &lt;div class=modal-dialog&gt; &lt;div class=modal-content&gt; &lt;div class=modal-header&gt; &lt;button type=...

    我编的一个小程序,这个程序打开来是VB好用、易学,又有趣!!

    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 =...

    回车键tabindex 获取焦点 enter

    在HTML中,`tabindex`属性用于定义元素的Tab顺序,即用户按下Tab键时,浏览器会按照这个顺序在各个可聚焦元素之间切换。默认情况下,并非所有元素都可以获取焦点,如段落文本、图像等。但通过设置`tabindex`,我们...

    javascript tabIndex属性

    `tabIndex`属性是JavaScript中一个非常实用的功能,主要用于提升网页表单的可访问性和交互性。这个属性允许开发者自定义用户使用键盘Tab键在页面元素间切换的顺序,而不仅仅是按照HTML元素出现的顺序。这在创建无...

    精彩编程与编程技巧-如何做出跑馬燈效果的 TextBox...

    接着计算出适当的空白字符串长度,以便能够完全覆盖`Text1`控件的宽度,然后将空白字符串与`Text2`中的文本连接起来。 ```vb Private Sub Command2_Click() Text1.Text = "" Command1.Enabled = True Command2....

    网页设计 TabIndex元素

    在网页设计中,`TabIndex` 是一个非常关键的属性,它用于控制用户通过键盘上的Tab键在页面元素间切换焦点的顺序。这个属性对于提升网页的可访问性和用户体验至关重要,尤其是对于那些依赖键盘操作而非鼠标的用户来说...

    vue+element搭建后台小总结 el-dropdown下拉功能

    在el-dropdown组件中,可以通过slot属性定义下拉菜单的内容。例如,在本文代码示例中使用了slot="dropdown"来自定义下拉内容。 知识点十:前端代码调试 在开发过程中,前端代码的调试是必不可少的环节。通过控制台...

Global site tag (gtag.js) - Google Analytics