在悬停和隐藏中隐藏输入标签打字的时候

时间:2012-09-25 22:35:45

标签: jquery forms hover

我创建了一个表单字段,如下所示:

<p>
<label for="your-name" style="display: block; ">Your name</label>
<span>
<input type="text" name="your-name" value="" class="" size="40">
</span>
</p>

此代码无法更改。我绝对将标签定位在字段上,当我将鼠标悬停在字段上时,我已应用jQuery来隐藏它:

jQuery('form p').hover(
   function() {
        jQuery(this).find("label").hide();
   },
   function() {
        jQuery(this).find("label").show();    
    }
);

然而,这仅在鼠标悬停在字段上时有效。如果在字段中键入并悬停,有没有办法隐藏标签?

由于 罗伯特

2 个答案:

答案 0 :(得分:1)

这是一种相当混乱的方式..这就是我要这样做的方式:

HTML:

<input type="text" name="your-name" id="your_name" value="Your Name" class="" size="40">

jQuery的:

$('#your_name').focus(function(){
  if ($(this).val() == 'Your Name'){
      $(this).val('');
  }
}).blur(function(){
  if ($(this).val() == ''){
      $(this).val('Your Name');
  }
});

或使用像詹姆斯提到的占位符

答案 1 :(得分:0)

如果您想使用现有方法,可以执行以下操作:

演示:http://jsfiddle.net/SLjMn/