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 相关文章推荐
js三种排序算法分享
Aug 16 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
Apr 23 Javascript
Jquery 例外被抛出且未被接住原因介绍
Sep 04 Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
jQuery实现图片局部放大镜效果
Mar 17 Javascript
javascript的理解及经典案例分析
May 20 Javascript
jQuery事件处理的特征(事件命名机制)
Aug 23 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
Angular实现响应式表单
Aug 04 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 Javascript
vue实现验证用户名是否可用
Jan 20 Vue.js
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
php5中类的学习
2008/03/28 PHP
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
jQuery性能优化的38个建议
2014/03/04 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
关于JS 预解释的相关理解
2016/06/28 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
React Native之TextInput组件解析示例
2017/08/22 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[05:01]3.19DOTA2发布会 我们都是刀塔人
2014/03/25 DOTA
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python 追踪except信息方式
2020/04/25 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
客户代表实习人员自我鉴定
2013/09/27 职场文书
幼儿如何来做好自我评价
2013/11/05 职场文书
小学生红领巾广播稿
2014/01/21 职场文书
2014年医生工作总结
2014/11/21 职场文书
学期个人自我总结
2015/02/13 职场文书
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python
详解OpenCV曝光融合
2022/04/29 Python