在选择输入时试图隐藏某些内容

时间:2012-09-10 23:05:19

标签: javascript jquery html

这是我的Fiddle

一切都写在小提琴里。

问题是什么: 当我选择开始在输入中输入内容时,我希望文本消失。

  1. 如果我专注于输入,我希望

    消失,只有在我没有输入任何内容时才会重新出现,

  2. 如果我在文字输入中输入了某些内容,我希望隐藏的内容保持这种状态。

  3. 老实说,我不知道如何做到这一点,我试图用它来表明我的意思

    非常感谢你的帮助!

6 个答案:

答案 0 :(得分:1)

使用.blur()检测输入何时失去焦点,然后使用.val()测试其长度是否为0。如果是,show再次p

$(document).ready(function () { 
    $(".type").focus(function() {
        $("p").hide();
    }).blur(function () {
        if ($(this).val().length == 0) {
            $("p").show();
        }
    });
});

<强> DEMO

答案 1 :(得分:1)

看起来你试图运行的小提琴中有一些错误..我创造了一个新的小提琴,似乎因某种原因工作正常..

​$('.type').on('focus', function(){
    $("p").hide();         
});

$('.type').on('keyup blur', function(){
    if($('.type').val() == ''){
        $("p").show();       
    }
});

选中此FIDDLE

使用keyup和blur事件来获得所需的功能..

答案 2 :(得分:0)

答案就在于这个小提琴:http://jsfiddle.net/yLK5c/3/

    $(".type").on('focus keyUp',function(){ 
        if ($(this).val() == "") {
        $(this).attr('placeholder',"");
        }            
});
      $(".type").blur(function(){ 
          if ($(this).val() == "") {
             $('p').hide();           
          } else {
          $('p').show(); 
          }             
        $(this).attr('placeholder',"type something");    
        });

答案 3 :(得分:0)

我更新了你的小提琴,使用'on',并使用模糊。

$(document).ready(function(){
    $(".type").on('focus', function(){ 
        $("p.explanatory").hide();            
    }).on('blur', function() { 
        if($('.type').val() == '')
        {
            $("p.explanatory").show();      
        }
    });

});

这是我的工作! http://jsfiddle.net/M2Z88/5/

答案 4 :(得分:0)

正如João指出的那样,你应该使用blur事件来检测失去焦点的时间。但是,如果文本框中有任何文本,您还希望文本消失。这样做的方法是监听keyup个事件,然后检查编辑框中的值。 (如果您使用keydown,则该字母不会添加到文本框中,因此您将成为背后的角色。)

我认为你想要的是:

$(".type").focus(function(){ 
    if( $(this).val() == '' ) $("p").hide();
});
$(".type").blur(function(){
    $("p").show();
});
$(".type").keyup(function(){
    if( $(this).val() == '' ) $("p").hide();
    else $("p").show();
});

JsFiddle:http://jsfiddle.net/Mz95q/

答案 5 :(得分:0)

这是我的食谱

$(document).ready(function(){
    $(".type")
    .focus(function(){
        $("p").hide()
    ;})
    .blur(function () {
      if (!$(this).val()) {
        $("p").show()
      ;}
    });
});