zoukankan      html  css  js  c++  java
  • input 输入框获得/失去焦点时隐藏/显示文字(jquery版)

    input输入框在获得或失去焦点时隐藏或显示文字,这样的焦点效果想必很多朋友在填写form表格的时候都曾见识过吧,本文使用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就可以轻松实现了 

    耐得住寂寞,守得住繁华
  • 相关阅读:
    Java JMX 监管
    Spring Boot REST(一)核心接口
    JSR 规范目录
    【平衡树】宠物收养所 HNOI 2004
    【树型DP】叶子的颜色 OUROJ 1698
    【匈牙利匹配】无题II HDU2236
    【贪心】Communication System POJ 1018
    【贪心】Moving Tables POJ 1083
    Calling Extraterrestrial Intelligence Again POJ 1411
    【贪心】Allowance POJ 3040
  • 原文地址:https://www.cnblogs.com/djdliu/p/4026659.html
Copyright © 2011-2022 走看看