使用jQuery隐藏/显示焦点和模糊的输入值文本

时间:2012-08-18 11:02:18

标签: jquery textbox

我有输入的值属性。如果文本框没有内容,我需要它在特定文本框的焦点上消失,然后重新出现在模糊上。

这是我目前的HTML代码。

 <label>First Name</label></td>
 <input class="required" type="text" name="firstname" value="Fill" id="firstname" /><span>(required)</span>

同样我尝试了另外一件事。当焦点在(文本框A)时,会出现一个新的文本框(B),当焦点出来时(从A开始),B就会消失。但这里有些错误。我需要用户也可以在Box B中输入一些东西。现在我需要这样的东西。当焦点从A和B中出来时,只有B才会消失。 注意:页面上有多个文本框。 这是代码。

$('#lastname').focusin(function () {
        $('input.hidden').fadeIn(1000);
        $('input.hidden').css('backgroundColor', 'yellow');
        }).focusout(function () {
        $('input.hidden').hide();
        });

提前致谢。

4 个答案:

答案 0 :(得分:5)

​$("#firstname")​.on({
    focus: function() {
        if (this.value==='Fill') this.value = '';
    },
    blur: function() {
        if (this.value==='') this.value = 'Fill';
    }
})​;​

FIDDLE

如果旧版浏览器不是问题,那么你真的不需要javascript:

<label>First Name</label>
<td> 
    <input placeholder="Fill" id="firstname" />
    <span>(required)</span>
</td>​

FIDDLE

答案 1 :(得分:1)

var fill = $('#firstname').val();

$('#firstname').on('focus', function() {
    $(this).val('');
}).on('blur', function() {
    if ($('#firstname').val() == "") {
        $(this).val(fill);
    }
});​

Live example

答案 2 :(得分:1)

尝试:

$(".required").on("blur", function(){
  $(this).attr("value", "Fill");
}).on("focus", function(){
  $(this).attr("value", "");
});

Jsfiddle

答案 3 :(得分:1)

<input type="text" id="sample" value="Fill"/>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

然后,您可以使用Jquery处理focus

Blurtextbox事件
     $('#sample')​.on("focus",function(){
             $(this).val("");
            }).on("blur",function(){
             $(this).val("Fill");
                                       })​;​​

<强> Live Demo