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 变量作用域 代码分析
Jun 26 Javascript
javascript循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
JavaScript flash复制库类 Zero Clipboard
Jan 17 Javascript
深入浅析Node.js 事件循环
Dec 20 Javascript
Jquery实现简单的轮播效果(代码管用)
Mar 14 Javascript
EasyUI加载完Html内容样式渲染完成后显示
Jul 25 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
vue用addRoutes实现动态路由的示例
Sep 15 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
Dec 09 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
VSCode搭建Vue项目的方法
Apr 30 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
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
2012/03/26 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
2010/10/20 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
微信小程序左右滑动切换页面详解及实例代码
2017/02/28 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
在vue中使用v-bind:class的选项卡方法
2018/09/27 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
Auchan Direct波兰:欧尚在线杂货店
2016/10/19 全球购物
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
董事长职责范文
2013/11/08 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
委托书范文
2014/04/02 职场文书
爱情寄语大全
2014/04/09 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
同事去世追悼词
2015/06/23 职场文书
送给客户微信问候语!
2019/07/04 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis