2012-08-15 103 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