如何實現點選文字框刪除提示文字效果

admin發表於2017-02-10

大家可能都遇到這樣的情況,在帶有搜尋功能的網站中,一般都在搜尋框都帶有預設的提示語句,當使用者點選獲得焦點的時候,搜尋框中的文字就會被刪除,滑鼠點選他出,失去焦點的時候,文字框中又會出現預設的提示語句。下面就通過例項簡單介紹一下如何實現此功能。程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
  jQuery.focusblur=function(focusid){ 
    var focusblurid=$(focusid); 
    var defval=focusblurid.val(); 
    focusblurid.focus(function(){ 
      var thisval = $(this).val(); 
      if(thisval==defval)
      { 
        $(this).val(""); 
      } 
    }); 
    focusblurid.blur(function(){ 
      var thisval = $(this).val(); 
      if(thisval=="")
      { 
        $(this).val(defval); 
      } 
    }); 
  }; 
  $.focusblur("#searchkey"); 
}); 
</script> 
</head> 
<body> 
<form action="#" method="post" name="myform"> 
  <input name="mytext" type="text" value="輸入搜尋關鍵詞" id="searchkey"/> 
  <input type="submit" id="searchbtn" value="搜尋"/> 
</form> 
</body> 
</html>

以上程式碼成功實現了想要的功能。實現的方式也非常簡單,實現主要步驟如下:

首先,建立一個函式,此函式可以為指定id的物件繫結事件處理函式,事件處理函式定義了當文字框獲得焦點和失去焦點時的文字內容,然後再將此函式賦值給jQuery的focusblur屬性,最後當文件載入就緒後執行focusblur()方法為id為searchkey的文字框繫結事件處理函式。以上即是此功能的簡單實現過程。

相關文章