input 输入框获得/失去焦点时隐藏/显示文字(jquery版)

 更新时间:2013年04月02日 15:57:02   作者:  
input输入框在获得或失去焦点时隐藏或显示文字,这样的焦点效果想必很多朋友在填写form表格的时候都曾见识过吧,本文使用jquery实现以下,感兴趣的朋友可以参考下哈
input 输入框获得和失去焦点时隐藏或者显示文字我们先看下效果图
输入框默认状态:
 
输入框获取焦点状态:
 
大家可以看效果图的搜索输入框,默认显示着“用户名/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

相关文章

  • jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】

    jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】

    这篇文章主要介绍了jQuery插件HighCharts实现的2D对数饼图效果,结合实例形式分析了jQuery图形插件HighCharts绘制2D对数饼图的具体实现步骤与相关操作技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2017-03-03
  • 浅析jQuery Ajax请求参数和返回数据的处理

    浅析jQuery Ajax请求参数和返回数据的处理

    这篇文章主要介绍了浅析jQuery Ajax请求参数和返回数据的处理的相关资料,需要的朋友可以参考下
    2016-02-02
  • jQuery实现iframe父窗体和子窗体的相互调用

    jQuery实现iframe父窗体和子窗体的相互调用

    这篇文章主要介绍了jQuery实现iframe父窗体和子窗体的相互调用,涉及jQuery窗体调用的相关技巧,需要的朋友可以参考下
    2016-06-06
  • jQuery Dialog 弹出层对话框插件

    jQuery Dialog 弹出层对话框插件

    网上这种插件很多,但是没一个合适的,大部分都做得很大,功能齐全。于是自己做了这个小插件,顺便学习下jQuery插件的写法。
    2010-08-08
  • jquery 插件实现图片延迟加载效果代码

    jquery 插件实现图片延迟加载效果代码

    前几天上QQ的在线视频网站,看到上面的影片列表页的图片有这样一种效果:当向下拉动滚动条时下面的图片才开始加载,就是说它不会一下子把所有的图片都加载出来,拉动滚动条后用户看到了才会显示,这是一个很不错的用户体验。
    2010-02-02
  • jQuery选择器之属性筛选选择器用法详解

    jQuery选择器之属性筛选选择器用法详解

    下面小编就为大家带来一篇jQuery选择器之属性筛选选择器用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 用jquery模仿的a的title属性(兼容ie6/7)

    用jquery模仿的a的title属性(兼容ie6/7)

    用jQuery实现的模仿a的title属性的例子,在测试的时候ie6,7上出现了层次混乱,不过最终解决了,代码书写很详细,感兴趣的朋友可以了解下哦
    2013-01-01
  • 关于jQuery中.attr()和.prop()的问题探讨

    关于jQuery中.attr()和.prop()的问题探讨

    写了几句代码在ie8上能正常运行,chrome和ff却不行,prop()方法适用于Boolean值的属性,添加属性名称该属性就会生效应该使用.prop()者两点就是他们的区别吧
    2013-09-09
  • 解决IE9下JQuery发送ajax请求失效的方法

    解决IE9下JQuery发送ajax请求失效的方法

    这篇文章介绍了解决IE9下JQuery发送ajax请求失效的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • jQuery实现仿百度帖吧头部固定导航效果

    jQuery实现仿百度帖吧头部固定导航效果

    这篇文章主要介绍了jQuery实现仿百度帖吧头部固定导航效果,涉及jquery针对页面高度计算与样式的动态添加及删除技巧,非常简单实用,需要的朋友可以参考下
    2015-08-08

最新评论