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静态的动态
Sep 18 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
使用js实现的简单拖拽效果
Mar 18 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
基于JS实现Android,iOS一个手势动画效果
Apr 27 Javascript
Google 地图API资料整理及详细介绍
Aug 06 Javascript
JS异步文件分片断点上传的实现思路
Dec 25 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
Aug 29 Javascript
使用jQuery动态设置单选框的选中效果
Dec 06 jQuery
在Uni中使用Vue的EventBus总线机制操作
Jul 31 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
php数组转成json格式的方法
2015/03/09 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
js运动应用实例解析
2015/12/28 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
移动端js图片查看器
2016/11/17 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
[05:46]DOTA2英雄梦之声_第18期_陈
2014/06/20 DOTA
Python中使用dom模块生成XML文件示例
2015/04/05 Python
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
使用pycharm在本地开发并实时同步到服务器
2019/08/02 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
一些PHP的面试题
2015/05/06 面试题
司机检讨书
2014/02/13 职场文书
村党的群众路线教育实践活动工作总结
2014/10/25 职场文书
2015欢度元旦标语口号
2014/12/09 职场文书
个人廉洁自律总结
2015/03/06 职场文书
小学语文教师研修感悟
2015/11/18 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Linux磁盘管理方法介绍
2022/06/01 Servers