tabindex
指示其元素是否能够聚焦,以及它是否/在何处参与顺序键盘导航。
本篇将介绍 tabindex
的一些用法。一般使用 tab
键移动焦点,使用空格键激活焦点。html
HTML 4 | Only supported on <a>、<area>、 <button>、 <object>、 <select>、 <textarea> |
HTML 5 | All elements |
tabindex="-1"
:表示元素是可聚焦的,可是不能经过 tab
导航来访问到该元素,能够经过js获取。tabindex="0"
:表示元素是可聚焦的,能够经过 tab
导航来聚焦到该元素,它的相对顺序是当前处于的DOM结构来决定的。若一个元素没有设置 tabindex
,默认值为 0。tabindex
大于 0 :表示元素是可聚焦的,能够经过 tab
导航来访问到该元素;它的相对顺序按照 tabindex
的数值递增而滞后获焦(先获取值小的)。若是多个元素拥有相同的 tabindex
,它们的相对顺序按照他们在当前DOM中的前后顺序决定。
注:
tabindex
的最大值不该超过 32767
activeElement
document.activeElement
为 null
。document.activeElement
为 body
元素的引用。使用 tab
键来根据 tabindex
的定义来切换焦点git
document.getElementById("id").focus(); document.getElementById("id").focus({preventScroll:false});
preventScroll
默认为 false
,表示当触发时,浏览器会将元素滚动到视图中。preventScroll
为 true
,则不发生滚动。tanindex="-1"
。<select id="mySelect" autofocus> <option>Option 1</option> <option>Option 2</option> </select>
// 返回一个 Boolean // Check if the autofocus attribute on the <select> var hasAutofocus = document.getElementById('mySelect').autofocus;
hasFocus()
若是当前页面的活动元素得到了焦点,Document.hasFocus()
返回 true
,不然为 false
。能够用来判断用户是否正在与该页面进行交互。github
document.getElementById("id").blur();
blur()
会将焦点从元素中移走,并非转移到其余特定元素上。浏览器
element.onfocus = function(){} element.onblur = function(){} element.onfocusin = function(){} element.onfocusout = function(){} element.addEventListener("focus", function(){}) element.addEventListener("blur", function(){}) element.addEventListener("focusin", function(){}) element.addEventListener("focusout", function(){})
focus
:在元素获取焦点时触发,不支持冒泡focusin
:在元素获取焦点时触发,支持冒泡blur
:在元素失去焦点时触发,不支持冒泡focusout
:在元素失去焦点时触发,支持冒泡感谢支持。code
若不足之处,欢迎你们指出,共勉。htm
若是以为不错,记得 点赞,谢谢你们 ʚ💖ɞblog
欢迎关注。事件