input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013-04-02 00:00
791 查看
input 输入框获得和失去焦点时隐藏或者显示文字我们先看下效果图
输入框默认状态:
输入框获取焦点状态:
大家可以看效果图的搜索输入框,默认显示着“用户名/Email”的提示,当这个 input 输入框获得焦点时,就自动清空等待用户输入,当用户啥也没输入就离开这个 input 输入框时,输入框内又再次显示“用户名/Email”的提示。是不是很常见?很多搜索、登录、表单都会用到这个效果,但是我看了N多个网站,有90%以上是这么实现的:
我是非常反对把 javascript 写在 html 标签里的,这和 style 写在 html 标签里一样,虽然不违反 W3C 标准,但也不推荐这么写。因为:
1.完全没有复用性可言,如果是个表单,输入框很多,每个都需要这样的效果,那就每个都这么处理吗?
2.如果要修改其中的提示文字,费时费力又不好维护。
3.我们倡导结构(html)、表现(css)、行为(javascript)三者分离,这才是一个好的页面。
那要怎么写才能实现这个效果,而且既有复用性,又好维护,又不需要把 js 写进 html 里呢?
具体方法如下:
首先肯定是引入jQuery
Html代码:
jQuery代码:
只要在实现的input输入框加上”input_test”这个class就可以轻松实现了
查看:Demo
输入框默认状态:
输入框获取焦点状态:
大家可以看效果图的搜索输入框,默认显示着“用户名/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
相关文章推荐
- input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
- input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
- input 输入框获得/失去焦点时隐藏/显示文字
- input 输入框获得/失去焦点时隐藏/显示文字
- input 输入框获得/失去焦点时隐藏/显示文字
- 我的Web学习之路1——input,textarea获得/失去焦点时隐藏/显示文字
- jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
- jquery 获得焦点的时候,焦点时文本框清空,失去焦点时又显示默认文字
- jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
- input失去焦点和获得焦点jquery焦点事件
- input失去焦点和获得焦点jquery焦点事件
- Jquery输入框获得/失去焦点方式
- input失去焦点和获得焦点jquery焦点事件
- jQuery实现文本域内提示文字,当鼠标点击进文本域后自动消失,文本域失去鼠标焦点后显示提示文字或显示用户输入的文字。
- 输入框的提示信息(获得焦点和失去焦点时显示提示信息)
- 记录H5页面IOS中input输入框失去焦点后,键盘隐藏
- jQuery用focus()使文本输入框获得焦点且焦点在文字的最右的方法
- Knockout: 实践CSS绑定和jQuery的blur失去焦点事件, 给未通过校验的输入框添加红色边框突出显示.
- js控制输入框获得和失去焦点时状态显示的方法
- jquery插件小试牛刀:文本框为空时默认文字显示,获得焦点后默认文字消失