HTML更改tab键焦点位置

本文介绍了如何通过HTML的tabindex属性来改变TAB键在网页元素间切换的顺序,当tabindex值设置为负数时,相关元素将不参与TAB键的焦点切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tabindex可以更改TAB键的移动顺序,tabindex的值为负时,将排除在外。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    .boxParent{float:left;}
    .xialaBox{
      width:173px;
      height:200px;
      /*line-height: 200px;*/
      border:1px solid #ccc;
      text-align: center;
      display: none;
    }
  </style>
</head>
<body>
  <div class="box">
    <div class="boxParent">
      <input type="text" class="inph" tabindex="1">
      <div class="xialaBox">
        1
      </div>
    </div>
    <div class="boxParent">
      <input type="text" class="inph" tabindex="2">
      <div class="xialaBox">
        2
        <input type="text" tabindex="-1">
      </div>
    </div>
    <div class="boxParent">
      <input type="text" class="inph" tabindex="3">
      <div class="xialaBox">
        3
        <input type="text" tabindex="-1">
      </div>
    </div>
  </div>
  <script>

    var box = document.querySelector(".box");
    var inp = document.querySelectorAll("input[type=text].inph");
    var xialaBox = document.querySelectorAll(".xialaBox");
    var count = -1;
    for(var i = 0; i < inp.length; i++)
    {
      inp[i].index = i;
      inp[i].onclick = function()
      {
        count = this.index;
        for(var i = 0; i < xialaBox.length; i++)
          {
            if(i != this.index)
            {
              xialaBox[i].style.display = "none";
            }
            
          }
          xialaBox[this.index].style.display = "block";
      }
    }
    window.onkeydown = function(keyEvent){
      var keyEvent = keyEvent ? keyEvent : window.event;
      var keyCode = keyEvent.which ? keyEvent.which : keyEvent.keyCode;
      
      // console.log(keyCode);
      switch (keyCode){
        case 9:
          count ++;
          if(count > inp.length)
          {
            count = inp.length-2;
          }
          console.log(count);
          inp[count].click();
          // for(var i = 0; i < xialaBox.length; i++)
          // {
          //   if(i != count)
          //   {
          //     xialaBox[i].style.display = "none";
          //   }
            
          // }
          // xialaBox[count].style.display = "block";
          break;
      } 
      
    }
  </script>
  
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值