input 输入框获得/失去焦点时隐藏/显示文字(jquery版)


Posted in Javascript onApril 02, 2013

input 输入框获得和失去焦点时隐藏或者显示文字我们先看下效果图
输入框默认状态:
input 输入框获得/失去焦点时隐藏/显示文字(jquery版) 
输入框获取焦点状态:
input 输入框获得/失去焦点时隐藏/显示文字(jquery版) 
大家可以看效果图的搜索输入框,默认显示着“用户名/Email”的提示,当这个 input 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个 input 输入框时,输入框内又再次显示“用户名/Email”的提示。是不是很常见?很多搜索、登录、表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的:

<input type="text" value="搜索关键字" onfocus="if(this.value == '搜索关键字') this.value = ''" onblur="if(this.value =='') this.value = '搜索关键字'" />

我是非常反对把 javascript 写在 html 标签里的,这和 style 写在 html 标签里一样,虽然不违反 W3C 标准,但也不推荐这么写。因为:
1.完全没有复用性可言,如果是个表单,输入框很多,每个都需要这样的效果,那就每个都这么处理吗?
2.如果要修改其中的提示文字,费时费力又不好维护。
3.我们倡导结构(html)、表现(css)、行为(javascript)三者分离,这才是一个好的页面。
那要怎么写才能实现这个效果,而且既有复用性,又好维护,又不需要把 js 写进 html 里呢?
具体方法如下:
首先肯定是引入jQuery
Html代码:
<div><input type="text" value="提示测试" class="input_test" /></div> 
<div><input type="text" value="请输入搜索关键" class="input_test" /></div>

jQuery代码:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
$('.input_test').bind({ 
focus:function(){ 
if (this.value == this.defaultValue){ 
this.value=""; 
} 
}, 
blur:function(){ 
if (this.value == ""){ 
this.value = this.defaultValue; 
} 
} 
}); 
}) 
</script>

只要在实现的input输入框加上”input_test”这个class就可以轻松实现了
查看:Demo
Javascript 相关文章推荐
JavaScript 对象链式操作测试代码
Apr 25 Javascript
在图片上显示左右箭头类似翻页的代码
Mar 04 Javascript
js获取select选中的option的text示例代码
Dec 19 Javascript
AngularJs动态加载模块和依赖注入详解
Jan 11 Javascript
jQuery的实例及必知重要的jQuery选择器详解
May 20 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
详解JavaScript常量定义
Jan 03 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
Jan 30 Javascript
微信小程序日期时间选择器使用方法
Feb 01 Javascript
深入理解JavaScript和TypeScript中的class
Apr 22 Javascript
js实现3D照片墙效果
Oct 28 Javascript
JQuery给元素添加/删除节点比如select
Apr 02 #Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
Apr 02 #Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
Apr 02 #Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
Apr 02 #Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 #Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
Apr 02 #Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 #Javascript
You might like
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
ie下动态加态js文件的方法
2011/09/13 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
[51:05]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第一局
2016/03/06 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
python使用pymysql实现操作mysql
2016/09/13 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
python 内置函数汇总详解
2019/09/16 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
2015/12/03 面试题
电子商务毕业生求职信
2013/11/10 职场文书
建筑设计师岗位职责
2013/11/18 职场文书
房地产公司财务总监岗位职责
2015/04/03 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
汽车销售合同文本
2019/08/08 职场文书
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL