JQuery对新替代解决方案的建议或建议

时间:2012-08-15 18:51:11

标签: javascript jquery html

有更好的方法吗

$("#<%=Text_Name.ClientID%>").mouseleave(function () {
    var t_name = this.value;

    if (t_name == "") {
        $(this).val("Name");
        $("#<%=Text_Name.ClientID%>").addClass("grey_add");
        $("#<%=Text_Name.ClientID%>").removeClass("black_add");
    }
});

这段代码的作用是当你滚出文本框时它会返回给你"Name"

关于使用这种技术的一个问题是,当用户将鼠标移出文本框时,它会在用户输入时填充内容。

4 个答案:

答案 0 :(得分:2)

使用jQuery非常简单,请查看:

<强> HTML

<input type="text" id="myInput" value="Name" />

<强>的jQuery

$(function() {
  $('#myInput').focusin(function() {
      $(this).val('');   
  });

  $('#myInput').focusout(function() {
      $(this).val('Name');   
      $(this).css('background-color', '#ccc');
  }); 
});

这里是jsFiddle。 不需要插件或很多代码。

答案 1 :(得分:1)

<input name="search" placeholder="<%=Text_Name.ClientID%>"/>

不需要javascript。

答案 2 :(得分:0)

$("#<%=Text_Name.ClientID%>").blur(function () {
    var t_name = this.value;

    if (t_name == "") {
        $(this).val("Name");
        $("#<%=Text_Name.ClientID%>").addClass("grey_add");
        $("#<%=Text_Name.ClientID%>").removeClass("black_add");
    }
});

当您关注其他内容时会发生此事件,这就是堆栈溢出右上角的文本框可能会使用的内容。

答案 3 :(得分:0)

你可以查看我在这里发布的水印插件:

Custom jQuery plugin return val()

只需将其修改为mouseover / mouseout,而不是focus/blur

jsFiddle edited to show mouseover/mouseout