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 使用手册(六)
Sep 23 Javascript
jquery 使用简明教程
Mar 05 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
JavaScript中实现继承的三种方式和实例
Jan 29 Javascript
JS实现的生成随机数的4个函数分享
Feb 11 Javascript
推荐10 个很棒的 jQuery 特效代码
Oct 04 Javascript
非常酷炫的Bootstrap图片轮播动画
May 27 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
Sep 14 Javascript
Javascript动画效果(1)
Oct 11 Javascript
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
JS代码触发事件代码实例
Jan 02 Javascript
vue项目中使用bpmn为节点添加颜色的方法
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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP Trait功能与用法实例分析
2020/06/03 PHP
Javascript读取cookie函数代码
2010/10/16 Javascript
基于jQuery架构javascript基础体系
2011/01/01 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
JavaScript中判断函数、变量是否存在
2015/06/10 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
JS实现下拉菜单赋值到文本框的方法
2015/08/18 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
基于JQuery实现图片轮播效果(焦点图)
2016/02/02 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
js prototype和__proto__的关系是什么
2019/08/23 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
创业计划书的写作技巧及要点
2014/01/31 职场文书
联欢晚会主持词
2014/03/25 职场文书
个人授权委托书格式
2014/08/30 职场文书
党性教育心得体会
2014/09/03 职场文书
公司合作协议范文
2014/10/01 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
Elasticsearch 基本查询和组合查询
2022/04/19 Python