div获取焦点
来源:互联网 发布:一个简单的python程序 编辑:程序博客网 时间:2024/05/22 08:06
div/span等获取焦点问题(tabindex属性的简单理解)
1、先看问题
当我们要对一个div/span元素获取焦点的时候,直接对$("#div1").focus()是不能实现效果的,比如下图:
当点击输入框进行输入后,在点击区域弹出选择地段的时候,input输入框并没有失去焦点(或者说区域的div没有获得焦点),就出现了键盘显示在弹层的上面导致无法选择的bug
解决办法有两个:
a:循环所有的input等可以获取焦点的元素,让他们失去焦点(blur);
b:点击区域选择地段的时候让div获取焦点,从而解决input不失焦的问题:
在这里对于普通的div/span等元素节点是不能直接获取焦点的,需要用到一个属性tabindex
2、关于tabindex的科普
如果试图触发div标签绑定的onfocus事件和onblur事件,需要为该标签添加tabindex属性。
tabindex属性其实指定了点击计算机“Tab”键时光标移动的顺序,在点击计算机“Tab”键时tabindex属性值越小(最小为0)其所在的标签越先得到焦点
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>04</title> </head> <body> <input type="text" id="text1"> <input type="text" id="text2"> <input type="text" id="text3"> <div>按钮</div> </body></html>
运行上面的代码点击计算机“Tab”键,这是你会发现input控件获取了焦点;input控件可以直接触发onfocus事件和onblur事件,但div不行
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>test</title> </head> <body> <input type="text" id="text1" tabindex = "3"> <input type="text" id="text2" tabindex = "2"> <input type="text" id="text3" tabindex = "1"> </body></html>
运行上面的代码点击计算机“Tab”键,input会从右到左依次获取焦点
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>test</title> </head> <body> <input type="text" id="text1" tabindex = "1"> <input type="text" id="text2" tabindex = "2"> <input type="text" id="text3" tabindex = "3"> </body></html>
运行上面的代码点击计算机“Tab”键,input会从左到右依次获取焦点
tabindex默认的会使用在以下元素(就是说默认可以获取焦点的元素):A, AREA, LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.这些元素不设置tabindex都可以获取焦点,其他元素需要设置tabindex才能获取到焦点,其中tabindex得知越小在tab键切换的时候就会首先聚焦
<html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title>04</title> </head> <body> <input type="text" id="text1"> <input type="text" id="text2"> <input type="text" id="text3"> <div tabindex="0">按钮</div> </body></html>
- div获取焦点
- 如何让div获取焦点或可编辑
- 获取焦点, 失去焦点
- 获取焦点
- 获取焦点
- 获取焦点
- 获取焦点
- IE点击子div,父div不获取焦点问题的解决办法(一)
- IE点击子div,父div不获取焦点问题的解决办法(二)
- div失去焦点事件
- div获得焦点
- div失去焦点
- 可编辑div获取焦点位置和选择区域的文本
- div获取焦点响应事件失效及js事件委托机制
- js按ctrl+enter换行,让可编辑的div换行,并获取输入焦点光标
- popupWindow不获取焦点ListView获取焦点
- EditText获取焦点 失去焦点监听,获取焦点操作
- input输入框获取焦点、获取焦点位置、焦点设置
- App开发模式
- HDU 6201 transaction transaction transaction (最长路)
- 【新版】Android技术博客精华汇总
- 通过IP准确高度的定位到小区,街道
- c++ 拆分字符串
- div获取焦点
- window.showModalDialog弹出悬浮框
- 【ORACLE】安装时遇到“display at least 256 colors”
- 安装Maven插件
- BZOJ 1071 组队 详解(单调队列)
- Capture Options(捕获选项)各项的含义与设定
- PHP内写css样式
- HDOJ HDU 1099 Lottery
- Android studio 编辑build.gradle文件时非常卡?