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 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
javascript实现复制与粘贴操作实例
Oct 16 Javascript
angularjs的一些优化小技巧
Dec 06 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
基于JS模仿windows文件按名称排序效果
Jun 29 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
ionic2自定义cordova插件开发以及使用(Android)
Jun 19 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
微信小程序之分享页面如何返回首页的示例
Mar 28 Javascript
React.js绑定this的5种方法(小结)
Jun 05 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 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遍历目录viewDir函数
2009/12/15 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php对csv文件的读取,写入,输出下载操作详解
2013/08/10 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
PHP命名空间用法实例分析
2019/09/04 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
2018/08/22 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
Vue实现背景更换颜色操作
2020/07/17 Javascript
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
python实现剪切功能
2019/01/23 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
python实现自动清理重复文件
2020/08/24 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
如何用SQL语句进行模糊查找
2015/09/25 面试题
UNIX文件类型
2013/08/29 面试题
心理咨询承诺书
2014/05/20 职场文书
敬老院标语
2014/06/27 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
公司离职证明标准格式
2014/11/18 职场文书
导游词之崇武古城
2019/10/07 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
十大最强电系宝可梦,阿尔宙斯电系之一,第七被称为雷神
2022/03/18 日漫