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 判断代码全收集
Apr 28 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 Javascript
JS中图片缓冲loading技术的实例代码
Aug 29 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
jQuery图片特效插件Revealing实现拉伸放大
Apr 22 Javascript
jquery实现图片上传之前预览的方法
Jul 11 Javascript
JavaScript的面向对象编程基础
Aug 13 Javascript
confirm确认对话框的实现方法总结
Jun 17 Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 Javascript
js仿微博动态栏功能
Feb 22 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
webpack4 从零学习常用配置(小结)
May 28 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
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
php基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
PHP 一个比较完善的简单文件上传
2010/03/25 PHP
php银联网页支付实现方法
2015/03/04 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
python实现同时给多个变量赋值的方法
2015/04/30 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
python 中字典嵌套列表的方法
2018/07/03 Python
python 三元运算符使用解析
2019/09/16 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
Python timeit模块原理及使用方法
2020/10/10 Python
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
运输服务质量承诺书
2014/03/27 职场文书
小学优秀教师材料
2014/12/15 职场文书
销售区域经理岗位职责
2015/04/10 职场文书
观后感格式
2015/06/19 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
写给医护人员的一封感谢信
2019/09/16 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
JS setTimeout与setInterval的区别
2022/04/20 Javascript
css弧边选项卡的项目实践
2023/05/07 HTML / CSS