input 输入框获得/失去焦点时隐藏/显示文字(jquery版)_Javascript教程-查字典教程网
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
发布时间:2017-01-14 来源:查字典编辑
摘要:input输入框获得和失去焦点时隐藏或者显示文字我们先看下效果图输入框默认状态:输入框获取焦点状态:大家可以看效果图的搜索输入框,默认显示着...

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="提示测试" /></div>

<div><input type="text" value="请输入搜索关键" /></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教程学习
    热门Javascript教程学习
    编程开发子分类