首頁  >  文章  >  web前端  >  jQuery實作IE輸入框完成placeholder標籤代碼分享

jQuery實作IE輸入框完成placeholder標籤代碼分享

小云云
小云云原創
2018-02-05 13:07:461065瀏覽

本文主要和大家介紹jQuery實現IE輸入框完成placeholder標籤功能的方法,涉及jQuery事件響應及針對頁面元素屬性的動態操作相關實現技巧,需要的朋友可以參考下,希望能幫助到大家。

如果在輸入框加上placeholder="xx"屬性,例如:


<input type="text" placeholder="请输入关键词"/>

則可以在Google瀏覽器等進階瀏覽器的輸入框中實作替換文字的功能,也就是得到如下圖所示的對話框:

但是這個屬性在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="请输入关键词" style="color:#cccccc" />
</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中得到如下效果:

相關推薦:

React Native佔位placeholder的使用方法詳解

jQuery封裝placeholder的實例程式碼

##HTML5 Placeholder屬性的詳細資料介紹


以上是jQuery實作IE輸入框完成placeholder標籤代碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn