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 09 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
javascript中的return和闭包函数浅析
Jun 06 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
Aug 09 Javascript
同步异步动态引入js文件的几种方法总结
Sep 23 Javascript
vue实现裁切图片同时实现放大、缩小、旋转功能
Mar 02 Javascript
微信小程序视图控件与bindtap之间的问题的解决
Apr 08 Javascript
前端路由&amp;webpack基础配置详解
Jun 10 Javascript
JS实现旋转木马轮播图
Jan 01 Javascript
javascript递归函数定义和用法示例分析
Jul 22 Javascript
如何基于viewport vm适配移动端页面
Nov 13 Javascript
vue elementUI表格控制对应列
Apr 13 Vue.js
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中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php数据库操作model类(使用__call方法)
2016/11/16 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP中16个高危函数整理
2019/09/19 PHP
php5与php7的区别点总结
2019/10/11 PHP
Javascript面向对象之四 继承
2011/02/08 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JavaScript 正则表达式中global模式的特性
2016/02/25 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
react 生命周期实例分析
2020/05/18 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
Python入门篇之列表和元组
2014/10/17 Python
python中的闭包函数
2018/02/09 Python
python+opencv实现阈值分割
2018/12/26 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Django values()和value_list()的使用
2020/03/31 Python
python help函数实例用法
2020/12/06 Python
某公司.Net方向面试题
2014/04/24 面试题
物控部经理职务说明书
2014/02/25 职场文书
会计工作决心书
2014/03/11 职场文书
计算机专业求职信
2014/06/02 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
解除劳动合同证明书
2014/09/26 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
2014年环保局工作总结
2014/12/11 职场文书
家长对孩子的寄语
2015/02/26 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
python编写五子棋游戏
2021/05/25 Python
R9700摩机记
2022/04/05 无线电