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+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
ExtJS 2.0实用简明教程 之Border区域布局
Apr 29 Javascript
求数组最大最小值方法适用于任何数组
Aug 16 Javascript
js实现目录定位正文示例
Nov 14 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
Jan 14 Javascript
原生js和jquery实现图片轮播特效
Apr 23 Javascript
基于jquery实现在线选座订座之影院篇
Aug 24 Javascript
JS代码防止SQL注入的方法(超简单)
Apr 12 Javascript
JavaScript预解析及相关技巧分析
Apr 21 Javascript
jQuery实现图片轮播效果代码
Sep 27 Javascript
微信小程序 五星评价功能的实现
Mar 09 Javascript
详解Vue SPA项目优化小记
Jul 03 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
php根据用户语言跳转相应网页
2015/11/04 PHP
PHP实现判断数组是一维、二维或几维的方法
2017/02/06 PHP
鼠标图片振动代码
2006/07/06 Javascript
use jscript Create a SQL Server database
2007/06/16 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
Jquery ui css framework
2010/06/28 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
2016/07/01 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
es6数据变更同步到视图层的方法
2019/03/04 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Python程序语言快速上手教程
2012/07/18 Python
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
python+flask实现API的方法
2018/11/21 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
python通过cython加密代码
2020/12/11 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
关于毕业的广播稿
2014/01/10 职场文书
2015年三万活动总结
2015/03/25 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL