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 div 遮罩层封锁整个页面
Jul 10 Javascript
两种WEB下的模态对话框 (asp.net或js的分别实现)
Dec 02 Javascript
Jquery替换已存在于element上的event的方法
Mar 09 Javascript
jquery 关于event.target使用的几点说明介绍
Apr 26 Javascript
Canvas放置反弹效果随机图形(实例)
Aug 17 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
Jan 20 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
浅谈React之状态(State)
Sep 19 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
react native 仿微信聊天室实例代码
Sep 17 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
JavaScript数组类型Array相关的属性与方法详解
Sep 08 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
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
给网站上的广告“加速”显示的方法
2007/04/08 Javascript
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
Jquery Ajax请求代码(2)
2011/01/07 Javascript
jQuery插件的写法分享
2013/06/12 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
jQuery Mobile开发中日期插件Mobiscroll使用说明
2016/03/02 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
electron-vue利用webpack打包实现多页面的入口文件问题
2019/05/12 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
Python写的Socks5协议代理服务器
2014/08/06 Python
Python简单进程锁代码实例
2015/04/27 Python
python中的字典使用分享
2016/07/31 Python
python 读入多行数据的实例
2018/04/19 Python
python文本数据处理学习笔记详解
2019/06/17 Python
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
百度吧主申请感言
2014/01/12 职场文书
会计出纳员的自我评价
2014/01/15 职场文书
《叶问2》观后感
2015/06/15 职场文书
中学后勤工作总结2015
2015/07/22 职场文书
2016大学军训心得体会
2016/01/11 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书