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 相关文章推荐
javascript while语句和do while语句的区别分析
Dec 08 Javascript
在线编辑器中换行与内容自动提取
Apr 24 Javascript
jQuery 源码分析笔记(4) Ready函数
Jun 02 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
javascript对象的使用和属性操作示例详解
Mar 02 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
JS组件Bootstrap实现下拉菜单效果代码
Apr 26 Javascript
jQuery前端开发35个小技巧
May 24 Javascript
BootStrap中Tab页签切换实例代码
May 30 Javascript
vue webpack打包后图片路径错误的完美解决方法
Dec 07 Javascript
layui 实现表格某一列显示图标
Sep 19 Javascript
js调用网络摄像头的方法
Dec 05 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使用QueryList轻松采集js动态渲染页面方法
2018/09/11 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
jQuery获取CSS样式中的颜色值的问题,不同浏览器格式不同的解决办法
2013/05/13 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
js或jquery实现页面打印可局部打印
2014/03/27 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python入门篇之列表和元组
2014/10/17 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python回调函数用法实例详解
2015/07/02 Python
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
创建Django项目图文实例详解
2019/06/06 Python
用python实现学生管理系统
2020/07/24 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
员工评语大全
2014/01/19 职场文书
宣传部部长竞选演讲稿
2014/04/26 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
城管个人总结
2015/02/28 职场文书
情况说明书怎么写
2015/10/08 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技