Js中的onblur和onfocus事件应用介绍


Posted in Javascript onAugust 27, 2013

html页面中,诸如按钮、文本框等可视元素都具有拥有和失去焦点的事件,这些事件在响应鼠标或键盘动作时都可激发预设的操作。本文以文本框获得和失去焦点为例简单讲解onfocus和onblur的应用。

一. onfocus(获得焦点事件)
当一个文本框获得焦点时,它里面的文本就像“好123”网站上的百度搜索输入框那样全部被自动选中,这样的操作可以利用onfocus来实现。
以下的文本框,当鼠标指针移过去时,里面的文字全部被选中:
请输入网址
这是怎么做的呢?看以下代码及解释:
<input type="text"name="url" value="http://www.gxblk.com" size="30"onmousemove="this.focus();this.select();">
代码里,input标签内嵌入了onmousemove(鼠标指针经过)事件的JS语句,其等号后面的this.focus()意为其自身获得焦点;获得焦点的标志是该文本框内将出现输入光标,但要让其内的文字全部被选中,我们还得用上this.select()语句,它的意思就是选中全部文本框里的文字。

二. onblur(失去焦点事件)
我们经常会检测文本框是否已经被正确输入,检测工作通常在用户点击了提交按钮之后进行,事实上,利用控件失去焦点的时候,我们就可以实时进行这个检测工作,这样的话,onblur事件就派上用场了。
以下例子有四个文本框,如果还没有任何单击它们当中的任意一个的操作,那么什么事情也不会发生,但是,当你单击了其中的任何一个使其拥有了焦点(输入光标在里面),如果什么都没有输入并且单击了别的地方令其失去焦点,就会弹出一个警告,试试看
姓名
性别
年龄
住址

以下是代码和解释:
表单代码

<form name="blur_test"> 
<p>姓名 <input type="text" name="name"value="" size="30"onblur="chkvalue(this)"><br> 
性别 <inputtype="text" name="sex" value=""size="30" onblur="chkvalue(this)"><br> 
年龄 <inputtype="text" name="age" value=""size="30" onblur="chkvalue(this)"><br> 
住址 <inputtype="text" name="addr" value=""size="30" onblur="chkvalue(this)"></p> 
</form>

JS代码
<scriptlanguage="javascript"> 
function chkvalue(txt) { 
if(txt.value=="") alert("文本框里必须填写内容!"); 
} 
</script>

表单代码里,每一个方框框的代码都嵌入一个onblur JS语句,它们都调用后面的JS代码中的自定义函数chkvalue(this),意思是,当文本框失去焦点时就调用chkvalue()函数;这chkvalue()函数检测文本框是否为空,如果是就弹出警告窗口。该函数有一个参数(txt),对应于前面文本框调用该函数的参数(this)即自身。
Javascript 相关文章推荐
ie支持function.bind()方法实现代码
Dec 27 Javascript
jquery中的查找parents与closest方法之间的区别
Dec 02 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
详解javascript事件冒泡
Jan 09 Javascript
微信js-sdk地理位置接口用法示例
Oct 12 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
Sep 15 Javascript
web前端vue filter 过滤器
Jan 12 Javascript
vue中promise的使用及异步请求数据的方法
Nov 08 Javascript
JS实现的A*寻路算法详解
Dec 14 Javascript
微信小程序开发问题之wx.previewImage
Dec 25 Javascript
layui form表单提交之后重新加载数据表格的方法
Sep 11 Javascript
WEB前端性能优化的7大手段详解
Feb 04 Javascript
javascript:void(0)使用探讨
Aug 27 #Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 #Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
Aug 27 #Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
Aug 27 #Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 #Javascript
Javascript 浮点运算的问题分析与解决方法
Aug 27 #Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
Aug 26 #Javascript
You might like
PHP写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
jQuery jcrop插件截图使用方法
2013/11/20 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[02:03]完美世界DOTA2联赛10月30日赛事集锦
2020/10/31 DOTA
python实现从一组颜色中找出与给定颜色最接近颜色的方法
2015/03/19 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
Python编写单元测试代码实例
2020/09/10 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
银行实习的自我鉴定
2013/12/10 职场文书
开水果连锁店创业计划书
2013/12/29 职场文书
大学生村官典型材料
2014/01/12 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
党员群众路线承诺书
2014/05/20 职场文书
安全生产目标管理责任书
2014/07/25 职场文书
公司宣传语大全
2015/07/13 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
会计专业自荐信范文
2019/05/22 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
欧元符号 €
2022/02/17 杂记
python 使用pandas读取csv文件的方法
2022/12/24 Python