使用jquery标记输入内部

时间:2011-03-03 19:28:57

标签: jquery input label

我的“标签”在输入内,所以我想在用户点击时清空该字段,如果它为空则“标签”再次返回

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

这将在3个或更多领域完成,还有更好的aprouch吗?不使用插件,只需jquery

2 个答案:

答案 0 :(得分:5)

我认为你的方法可能几乎和它一样简洁,但值得注意的是html5为input标签提供placeholder属性:

<input type="text" placeholder="Your name." />

JS Fiddle demo

这当然是yet to make its way through to the non-modern browsers...

答案 1 :(得分:2)

如果您想让它轻松地与其他字段一起使用,您可以删除该检查并将Your name值放在该字段的title属性上。

$('.waterMarkInput').focus(function() {
  if ($(this).val()==$(this).attr("title")) { $(this).val(""); }
}).blur(function() {
  if ($(this).val()=="") { $(this).val($(this).attr("title")); }
});

然后您的输入字段可能如下所示:

<input type="text" value="" class="waterMarkInput" title="Your name"/>