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 相关文章推荐
JQuery最佳实践之精妙的自定义事件
Aug 11 Javascript
jquery实现div拖拽宽度示例代码
Jul 31 Javascript
html的DOM中document对象anchors集合用法实例
Jan 21 Javascript
有关Promises异步问题详解
Nov 13 Javascript
jQuery删除当前节点元素
Dec 07 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
浅析vue中的MVVM实现原理
Mar 04 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
layui 实现自动选择radio单选框(checked)的方法
Sep 03 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 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 max_execution_time执行时间问题
2011/07/17 PHP
基于php下载文件的详解
2013/06/02 PHP
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
理解JavaScript原型链
2016/10/25 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
Python中and和or如何使用
2020/05/28 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
python实现单机五子棋
2020/08/28 Python
Python截图并保存的具体实例
2021/01/14 Python
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
德国PC硬件网站:CASEKING
2016/10/20 全球购物
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
高三自我鉴定
2013/10/23 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
暑期学习心得体会
2014/09/02 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
2014年纪检工作总结
2014/11/12 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
js不常见操作运算符总结
2021/11/20 Javascript