jQuery之文本框得失焦点

简介:

版本一

css代码部分:

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

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

 

html代码部分:

复制代码
<body>
    <form action="" method="post" id="regForm">
        <fieldset>
            <legend>个人基本信息</legend>
                <div>
                    <label  for="username">名称:</label>
                    <input id="username" type="text" />
                </div>
                <div>
                    <label for="pass">密码:</label>
                    <input id="pass" type="password" />
                </div>
                <div>
                    <label for="msg">详细信息:</label>
                    <textarea id="msg" rows="2" cols="20"></textarea>
                </div>
        </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>
复制代码

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

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

这是一个简单的逻辑。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/archive/2012/09/14/2685039.html,如需转载请自行联系原作者

相关文章
|
前端开发 JavaScript
jQuery|focus焦点家族
focus的家族中有三个成员 成员 focus:当 字段获得焦点时发生 focus 事件 focusin:当 元素或其任意子元素获得焦点事件。 focusout:当 元素或其任意子元素失去焦点事件。
1041 0
|
Web App开发 JavaScript 前端开发
|
JavaScript 数据安全/隐私保护 前端开发
|
JavaScript 数据安全/隐私保护 前端开发
|
JavaScript
jquery限制文本框只能输入金额
1 $("#batch_diff_percent").keyup(function () { 2 var reg = $(this).val().match(/\d+\.?\d{0,2}/); 3 var txt = ''; 4 if (reg != null) { 5 txt = reg[0]; 6 } 7 $
1309 0
|
JavaScript
对jquery val 获取input 文本框值进行扩展
因项目需要,直接 以$(文本框name名称).value() 形式获取 或者 设置 其值,原jquery 自带不是很能满足需要,现在 进行扩展插件 fox.风来了 ;(function($,window,document,undefined){ $.fn.value = function(options) { var _select
1354 0