<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
#model{
width:500px;
height:300px;
margin-left:-250px;
margin-top:-150px;
background-color: blue;
position:fixed;
top:50%;
left:50%;
z-index: 200;
}
#outer{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:100;
padding-top:10%;
text-align:center;
background-repeat:no-repeat;
background-position:center center;
background-color:#000;
background-color:rgba(0,0,0,0.5);
filter:alpha(opacity=50);
display: none;
}
</style>
</head>
<body>
<button id="show">彈出模態框</button>
<div id="outer">
<div tabindex="-1" id="model"></div>
</div>
<script>
document.getElementById("model").onblur=function(){
document.getElementById("outer").style.display="none"
}
document.getElementById("model").onfocus=function(){
document.getElementById("outer").style.display="block"
}
document.getElementById("show").onclick=function(){
document.getElementById("outer").style.display="block"
}
</script>
</body>
</html>
html中的tabIndex屬性可以設置鍵盤中的TAB鍵在控件中的移動順序,即焦點的順序。
把控件的tabIndex屬性設成1到32767的一個值,就可以把這個控件加入到TAB鍵的序列中。
這樣,當瀏覽者使用TAB鍵在網頁控件中移動時,將首先移動到具有最小tabIndex屬性值的控件上,最后在具有最大tabIndex屬性值的控件上結束移動。
如果有兩個控件的tabIndex屬性相同,則以控件在html代碼中出現的順序為准。
默認的tabIndex屬性為 0 ,將排列在在所有指定tabIndex的控件之后。
而若把tabIndex屬性設為一個負值(如tabIndex="-1"),那么這個鏈接將被排除在TAB鍵的序列之外。 如果最初選擇了[Tab]鍵,帶這個輸入欄的網頁會將光標移動到firstName欄。
在給tabIndex特性賦值時,要留意幾個問題。下面是幾個賦值規則:
帶0值tabIndex的元素根據源代碼(或默認頁面行為)進行排序。
大於0的tabIndex值設定其tab順序。所有帶正tabIndex值的元素出現在所有帶0 tabIndex值的元素之前。
如果你犯了一個錯誤,把同一個tabIndex賦予給多個元素,像其它元素一樣,它們會以一個0值tabIndex進行處理。
將tabIndex賦值為-1,則在使用[Tab]鍵時,此元素被忽略。注意:如果使用-1值時,onfocus與onblur事件仍被啟動。 tabIndex的值可為0至32767之間的任意數字
原文地址https://blog.csdn.net/tom0008668/article/details/64904752