您好,登錄后才能下訂單哦!
這篇文章主要介紹了jQuery如何實現IE輸入框完成placeholder標簽功能,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
如果在輸入框加上placeholder="xx"屬性,例如:
<input type="text" placeholder="請輸入關鍵詞"/>
則可以在谷歌瀏覽器等高級瀏覽器的輸入框中實現替換文本的功能,也就是得到如下圖所示的對話框:
但是這個屬性在WIN7默認的瀏覽器IE8中無法兼容,更不要說IE6了。也就是說IE里面不支持placeholder這個標簽。
不信的話,大可以把這段代碼拉到IE8里面運行下試試,你只不過是得到一個空的對話框
在IE里面要實現這個要用組件失去焦點blur與得到焦點focus里面做,詳細可以參考《JavaScript組件焦點與頁內錨點間傳值的方法》
其實可以完全不用jQuery,這里使用這是為了復習下《jQuery通過控制節點實現僅在前臺通過get方法完成參數傳遞》
思想很簡單,一開始這個文本框默認為#cccccc灰色字體,值為“請輸入關鍵詞”,當得到焦點之后,把它的顏色設置為#000000黑色,值為空,一旦其失去焦點,如果值為空,馬上把其恢復默認的#cccccc灰色字體,值為“請輸入關鍵詞”
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>搜索輸入框替換文本</title> <script type="text/javascript" src="js/jquery-1.11.1.js"></script> </head> <body> <form id="test"> <input id="searchKeyword" type="text" maxlength="30" value="請輸入關鍵詞" /> </form> </body> </html> <script type="text/javascript"> $(document).ready(function(){ var isthisnull = true ; $("#searchKeyword").focus(function(){ if ($(this).val() == "請輸入關鍵詞" && isthisnull) { $(this).val(""); $(this).attr("style","color:#000000"); isthisnull = false; } }); $("#searchKeyword").blur(function(){ if ($(this).val() == "") { $(this).val("請輸入關鍵詞"); $(this).attr("style","color:#cccccc"); isthisnull = true; } }); }); </script>
這里注意的是,是加入一個isthisnull的布爾值來判斷其是否為空,是為了判斷用戶是否要輸入“請輸入關鍵詞”,
不能認為文本框里面有“請輸入關鍵詞”就是空,如果用戶自己輸入“請輸入關鍵詞”呢?
這里也不應該用jquery或者javascript來取color或者style的值是否為"#cccccc"或者“color:#cccccc”來判斷,因為通過$(this).css("color")
來取color,在不瀏覽器輸出的結果是不一樣的,而取style的話,ie會認為這是一個object,而不是字符串
設置一個isthisnull,也可以為后面進一步的表單驗證做準備
最終在IE中得到如下效果:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“jQuery如何實現IE輸入框完成placeholder標簽功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。