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 自动安装exe程序
Nov 30 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
js创建一个input数组并绑定click事件的方法
Jun 12 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 Javascript
jquery获取选中的文本和值的方法
Jul 08 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
Apr 16 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
May 11 Javascript
mongoose中利用populate处理嵌套的方法
May 26 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
Aug 24 Javascript
taro开发微信小程序的实践
May 21 Javascript
js实现全选和全不选功能
Jul 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
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
PHP中文件上传的一个问题
2010/09/04 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
JavaScript事件详细讲解
2016/06/27 Javascript
微信小程序 开发之滑块视图容器(swiper)详解及实例代码
2017/02/22 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
使用Python 统计高频字数的方法
2019/01/31 Python
python算法题 链表反转详解
2019/07/02 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
Python常用断言函数实例汇总
2020/11/30 Python
python绘制汉诺塔
2021/03/01 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
金融管理毕业生求职信
2014/03/03 职场文书
爱心捐书活动总结
2014/07/05 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
骨干教师个人总结
2015/02/11 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
MySQL 角色(role)功能介绍
2021/04/24 MySQL