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就可以轻松实现了 

    耐得住寂寞,守得住繁华
  • 相关阅读:
    [转载]SELinux 环境下网络服务设置,配置 Apache 、Samba、NFS
    [转载]SELinux安全系统基础
    Linux NFS服务器的安装与配置
    将可执行程序设为linux服务启动
    不关闭selinux下配置php+httpd访问KingbaseES
    [转载]SELinux安全系统基础
    解决samba和SELINUX 冲突
    [转载]在线文本编辑器的基本实现原理
    [转载]使用postgresql安装wordpress
    [转载]php连接postgreSQL数据库及其操作(php5,postgreSQL9)
  • 原文地址:https://www.cnblogs.com/djdliu/p/4026659.html
Copyright © 2011-2022 走看看