2012-08-15 65 views
2

是否有这样做JQuery的意见或建议,新的替代解决方案

$("#<%=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"文本框的这段代码的作用是。

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

+0

您是否正在寻找水印/占位符文本解决方案? – 2012-08-15 18:53:12

+0

也许你应该使用'焦点丢失'事件(我忘记了jQuery中的确切词) – 2012-08-15 18:53:32

+0

我想要的一个例子是类似于在屏幕右上角的搜索功能stackoverflow – Akyl 2012-08-15 18:53:47

回答

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。 无需插件或许多代码。

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"); 
    } 
}); 

此事件,当你专注于别的东西,这是在堆栈溢出的右上角的文本框可能使用情况。

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

no javascript needed。

+2

没有IE支持作为缺点... – 2012-08-15 19:04:37