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
输入框默认状态:
输入框获取焦点状态:
大家可以看效果图的搜索输入框,默认显示着“用户名/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插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
这篇文章主要介绍了jQuery插件FusionWidgets实现的Cylinder图效果,结合实例形式分析了jQuery使用FusionWidgets结合swf文件读取xml数据并采用Cylinder图展示的相关实现技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下2017-03-03jQuery实现可以编辑的表格实例详解【附demo源码下载】
这篇文章主要介绍了jQuery实现可以编辑的表格,涉及jQuery响应鼠标事件动态操作页面元素的相关技巧,需要的朋友可以参考下2016-07-07jQuery 1.3 和 Validation 验证插件1.5.1
jQuery 1.3已经新鲜出炉了,你可以通过jQuery 的官方博客查看相关细节。jQuery三岁了!2009-07-07jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
ImageDrawer.js是一款可以实现动态绘制图片动画的jQuery插件,接下来通过本文给大家介绍jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载),需要的朋友参考下2016-02-02jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
这篇文章主要是对jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助2013-12-12在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
easyUI是jquery的一个插件,是民间的插件,easyUI使用起来很方便,里面有网页制作的最重要的三大方块:javascript代码、html代码和Css样式,但是很容易出现jquery.easyui.min.js函数库问题,小编教大家如何解决问题,需要的朋友可以参考下2015-09-09分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
这篇文章主要介绍了分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug的相关资料,需要的朋友可以参考下2016-01-01
最新评论