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中对象的声明方式以及数组的一些用法示例
Dec 11 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
Jan 09 Javascript
jQuery 仿百度输入标签插件附效果图
Jul 04 Javascript
判断字符串的长度(优化版)中文占两个字符
Oct 30 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 Javascript
echarts3 使用总结(绘制各种图表,地图)
Jan 05 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
Sep 19 Javascript
深入理解Vue.js源码之事件机制
Sep 27 Javascript
在 webpack 中使用 ECharts的实例详解
Feb 05 Javascript
Bootstrap 实现表格样式、表单布局的实例代码
Dec 09 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
Dec 09 Javascript
koa-passport实现本地验证的方法示例
Feb 20 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
destoon实现调用热门关键字的方法
2014/07/15 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
javascript 闭包
2011/09/15 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
jQuery操作Select选择的Text和Value(获取/设置/添加/删除)
2013/03/06 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
js与jquery获取父级元素,子级元素,兄弟元素的实现方法
2014/01/09 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JsRender for object语法简介
2014/10/31 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
node后端服务保活的实现
2019/11/10 Javascript
Python中使用SAX解析xml实例
2014/11/21 Python
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python登录注册验证功能实现
2018/06/18 Python
Python中numpy模块常见用法demo实例小结
2019/03/16 Python
韩国知名的家庭购物网站:CJmall
2016/08/01 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
2014春晚主持词
2014/03/25 职场文书
三方协议书范本
2014/04/22 职场文书
品牌服务方案
2014/06/03 职场文书
2014年物流工作总结
2014/11/25 职场文书
2014年银行个人工作总结
2014/12/05 职场文书
员工旷工检讨书
2015/08/15 职场文书
理解python中装饰器的作用
2021/07/21 Python
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js