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代码
Dec 01 Javascript
理解Javascript_11_constructor实现原理
Oct 18 Javascript
js 调用本地exe的例子(支持IE内核的浏览器)
Dec 26 Javascript
JS实现清除指定cookies的方法
Sep 20 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 Javascript
Vee-Validate的使用方法详解
Sep 22 Javascript
vue项目中应用ueditor自定义上传按钮功能
Apr 27 Javascript
js单线程的本质 Event Loop解析
Oct 29 Javascript
Node对CommonJS的模块规范
Nov 06 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 Javascript
基于javascript实现移动端轮播图效果
Dec 21 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
php中的数组操作函数整理
2008/08/18 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
js 操作符汇总
2014/11/08 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
JS实现的RC4加密算法示例
2018/08/16 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
python实现字符串加密 生成唯一固定长度字符串
2019/03/22 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
车间班组长的职责
2013/12/13 职场文书
八年级历史教学反思
2014/01/10 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
ktv周年庆活动方案
2014/08/18 职场文书
夫妻房产协议书的格式
2014/10/11 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
党校个人总结
2015/03/04 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
python数字图像处理实现图像的形变与缩放
2022/06/28 Python