欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery 文本框得失焦点的简单实例

程序员文章站 2023-11-10 14:01:46
版本一 css代码部分: 。 代码如下: .focus {      border: 1px solid #f00; &nbs...

版本一

css代码部分:

代码如下:


.focus {
     border: 1px solid #f00;
     background: #fcc;
}


当焦点获得时,添加focus样式,添加边框,并改背景色为#fcc

 

html代码部分:

代码如下:


<body>
    <form action="" method="post" id="regform">
        <fieldset>
            <legend>个人基本信息</legend>
                <p>
                    <label  for="username">名称:</label>
                    <input id="username" type="text" />
                </p>
                <p>
                    <label for="pass">密码:</label>
                    <input id="pass" type="password" />
                </p>
                <p>
                    <label for="msg">详细信息:</label>
                    <textarea id="msg" rows="2" cols="20"></textarea>
                </p>
        </fieldset>
    </form>
</body>


这里有两个input,一个textare框。

 

:input匹配 所有 input, textarea, select 和 button 元素。

jquery代码部分:

代码如下:


<script type="text/javascript">
    $(function(){
        $(":input").focus(function(){
              $(this).addclass("focus");
        }).blur(function(){
              $(this).removeclass("focus");
        });
    })
    </script>


用:input匹配所有的input元素,当获取焦点时,就添加样式focus,通过$(this)自动识别当前的元素。focus()方法是获取焦点事件发生时执行的函数。blur()方法是失去焦点事件发生时执行的函数。

 

版本二:

有时候文本框里有默认的内容,作为提示信息,获取焦点后,要让它消失。可以做如下的改造:

代码如下:


<script type="text/javascript">
    $(function(){
        $(":input").focus(function(){
              $(this).addclass("focus");
              if($(this).val() ==this.defaultvalue){ 
                  $(this).val("");          
              }
        }).blur(function(){
             $(this).removeclass("focus");
             if ($(this).val() == '') {
                $(this).val(this.defaultvalue);
             }
        });
    })
    </script>


做个逻辑判断,如果值为默认值,就将文本框中的内容清空。

失去焦点,如果文本框中为空,也就是没有输入内容,就将值还设为默认值。

这是一个简单的逻辑。