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常用运算符(Operators)-javascript基础教程
Dec 14 Javascript
Jquery操作Select 简单方便 一个js插件搞定
Nov 12 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
Jan 23 Javascript
收集json解析的四种方法分享
Jan 17 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
May 02 Javascript
Javascript 构造函数详解
Oct 22 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
JavaScript生成带有缩进的表格代码
Jun 15 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
webpack css加载和图片加载的方法示例
Sep 11 Javascript
JS实现在线ps功能详解
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
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
vue之数据交互实例代码
2017/06/16 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
Python删除windows垃圾文件的方法
2015/07/14 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python list操作用法总结
2015/11/10 Python
Python注释详解
2016/06/01 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
Django数据库类库MySQLdb使用详解
2019/04/28 Python
简单了解django orm中介模型
2019/07/30 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
.NET面试问题集
2015/12/08 面试题
出纳岗位职责范本
2013/12/01 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
后备干部培训方案
2014/05/22 职场文书
干部作风建设工作总结
2014/10/29 职场文书
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技