我們在登入網站的時候,文字框中經常會有提示你輸入的訊息,當你點擊文字框,提示訊息自動消失,當文字框什麼都沒有,而且失去焦點的時候,又有了提示文字。 1.原型開發,先做一個簡單的:我們首先需要一個html檔: 複製程式碼複製程式碼 程式碼如下: input test <BR>//這裡放置css <BR> <BR>//這裡放置jquery程式碼<BR> User Name: PassWord: 下面加入jquery程式碼: 我使用了click 和blur內建事件類型處理,而且,只是對username框有效(因為密碼框還有別的因素考量) 複製程式碼 程式碼如下: input test <BR> <BR>$(document).ready(function(){ <BR>$("#username" ).click( <BR>function(){ <BR>if($(this).val()=="Enter your name"){ <BR>$(this).val(""); <BR> } <BR>}) <BR>$("#username").blur( <BR>function(){ <BR>if($(this).val()=="") <BR>{ <BR>$(this).val("Enter your name"); <BR>} <BR>}) <BR>}); <BR> User Name: PassWord: 2.做的更好這樣基本的原型就寫成了,但是這個原型有許多的不足: 1.也許可以對密碼框也使用這種方式,但是密碼框的type類型是password,它不能顯示,何來提示文字? 2. if($(this).val()=="")這種寫法我可以接受,但是if($(this).val()=="Enter your name"),你不覺得這很...要是我就想輸這個呢... 3.提示文字用別的灰色的粗體表示,這樣交互性是不是更強? 4.既然想要用兩種字體表示,能不能把他們提取出來?寫在.css裡?這是可以重用的啊! 解決方法: 1.密碼框先讓它的type是text的,等到點擊了,我們再設定成password 2.用個變數來表示是否要切換。 3.設定不同的css. 4.用attr("class","class1"),attr("class","class2")來切換class,而不是引用id.(也就是說用.不用#) 下面是實作: 複製程式碼 程式碼如下: 入力テスト <br>.default { <br>font-weight:bold; <br>カラー:#787878; <br>} <br>.puton{ <br>font-weight:normal; <br>色:黒; <br>} <br> <br>$(document).ready(function(){ <br>var b=true; <br>$("#username").click( <br>function(){ <br>if(b== true){ <br>$(this).val(""); <br>$(this).attr("class","puton"); <br>b=false; } <br>) <br>$("#username").blur( <br>function(){ <br>if( $(this).val()==""){ <br>$(this ).val("名前を入力してください"); <br>$(this).attr("クラス","デフォルト") <br>} <br>} <br>); 🎜>}); <br>$(document).ready(function(){ <br>var b=true; <br>$("#password").click( <br>function(){ <br>if(b== true){ <br>$(this).val(""); <br>$(this).attr("タイプ","パスワード"); <br>$(this).attr("クラス", "プトン"); <br>b=false; <br>} <br>}) <br>$("#password").blur( <br>function(){ <br>if( $(this) .val()==""){ <br>$(this).val("パスワードを入力してください"); <br>$(this).attr("type","text"); (this).attr("クラス","デフォルト"); <br>b=true; <br>} <br>} <br>); <br> <フォームメソッド="POST" id="ユーザー" アクション=""> ユーザー名: PassWord: