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 相关文章推荐
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
很棒的学习jQuery的12个网站推荐
Apr 28 Javascript
js 异步操作回调函数如何控制执行顺序
Dec 24 Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
May 03 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
JS实现仿UC浏览器前进后退效果的实例代码
Jul 17 Javascript
详解Angular2学习笔记之Html属性绑定
Jan 03 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
使用webpack构建应用的方法步骤
Mar 04 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 Javascript
js制作提示框插件
Dec 24 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 mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
Swoole实现异步投递task任务案例详解
2019/04/02 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
JavaScript更改class和id的方法
2008/10/10 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
利用js实现遮罩以及弹出可移动登录窗口
2013/07/08 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
javascript如何使用bind指定接收者
2014/05/04 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
详解微信小程序缓存--缓存时效性
2019/05/02 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
Python常用的爬虫技巧总结
2016/03/28 Python
python购物车程序简单代码
2018/04/18 Python
python django中8000端口被占用的解决
2019/12/17 Python
Python字符串的15个基本操作(小结)
2021/02/03 Python
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
小学英语教学反思案例
2014/02/04 职场文书
自动一体化专业求职信
2014/03/15 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
先进典型事迹材料
2014/12/29 职场文书
个人年终总结结尾
2015/03/06 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
超外差式晶体管收音机的组装与统调
2021/04/22 无线电
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js