亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

placeholder的兼容處理

beita / 3295人閱讀

摘要:方法一效果預(yù)覽思路是,首先判斷瀏覽器是否支持屬性,如果不支持的話,就遍歷所有輸入框,獲取屬性的值填充進(jìn)輸入框作為提示信息,同時字體設(shè)置成灰色。

placeholder是HTML5的屬性之一,在不同的瀏覽器( 支持HTML5的現(xiàn)代瀏覽器 )中會有略微不同的顯示效果:

在Chrome( v31.0.1650.63 m)、Firefox( v21.0 )、360安全( v6.3 極速模式 )中,輸入欄獲得焦點(diǎn)后,提示文字并不消失,如圖( Chrome ):

也就是說獲得焦點(diǎn)時提示的文字會消失。
非現(xiàn)代瀏覽器( 例如 IE6-IE9 )是不支持placeholder屬性的。現(xiàn)在用jQuery來使這些非現(xiàn)代瀏覽器也同樣能能實(shí)現(xiàn)placeholder的顯示效果,第一種方法實(shí)現(xiàn)的是IE11這種效果,也就是輸入框獲得焦點(diǎn)時提示文字會消失;如果要想獲得類似Chrome的效果,即輸入框獲得焦點(diǎn)時提示文字并不消失,可以使用第二種方法。

方法一

效果預(yù)覽:

http://jsfiddle.net/L57b25yr/...

思路是,首先判斷瀏覽器是否支持placeholder屬性,如果不支持的話,就遍歷所有input輸入框,獲取placeholder屬性的值填充進(jìn)輸入框作為提示信息,同時字體設(shè)置成灰色。

當(dāng)輸入框獲得焦點(diǎn)( focus )同時輸入框內(nèi)文字等于設(shè)置的提示信息時,就把輸入框內(nèi)清空;

當(dāng)輸入框失去焦點(diǎn)( blur )同時輸入框內(nèi)文字為空時,再把獲取的placeholder屬性的值填充進(jìn)輸入框作為提示信息,同時字體設(shè)置成灰色;

當(dāng)輸入框內(nèi)有輸入( keydown )時,此時輸入框內(nèi)的提示信息已經(jīng)由focus事件清除,此時只需要把字體再恢復(fù)成黑色即可。

此方法的缺點(diǎn)是,不適用于加載完DOM時即獲得焦點(diǎn)的輸入框,因?yàn)樵谟脩舻慕嵌?,加載完頁面時看到的獲得焦點(diǎn)的那個輸入框,它的提示文字是看不到的。

HTML:


CSS:

.phcolor{ color:#999;}

JS:

$(function(){  
 
  //判斷瀏覽器是否支持placeholder屬性
  supportPlaceholder="placeholder"in document.createElement("input"),
 
  placeholder=function(input){
 
    var text = input.attr("placeholder"),
    defaultValue = input.defaultValue;
 
    if(!defaultValue){
 
      input.val(text).addClass("phcolor");
    }
 
    input.focus(function(){
 
      if(input.val() == text){
   
        $(this).val("");
      }
    });
 
  
    input.blur(function(){
 
      if(input.val() == ""){
       
        $(this).val(text).addClass("phcolor");
      }
    });
 
    //輸入的字符不為灰色
    input.keydown(function(){
  
      $(this).removeClass("phcolor");
    });
  };
 
  //當(dāng)瀏覽器不支持placeholder屬性時,調(diào)用placeholder函數(shù)
  if(!supportPlaceholder){
 
    $("input").each(function(){
 
      text = $(this).attr("placeholder");
 
      if($(this).attr("type") == "text"){
 
        placeholder($(this));
      }
    });
  }
 
});

經(jīng)過測試可以達(dá)到IE11placeholder的顯示效果。

方法二

此方法的思路是做一張含有提示文字的圖片作為input輸入框的背景圖,初始時獲得焦點(diǎn)同時加載背景圖;

背景圖如下:

當(dāng)輸入框不為空時,去掉背景圖;

當(dāng)輸入框?yàn)榭諘r,加載背景圖;

當(dāng)用戶鍵盤按鍵且輸入框不為空( 輸入字符 )時,去掉背景圖;

當(dāng)用戶鍵盤按鍵且輸入框?yàn)榭? 刪除字符 )時,加載背景圖。

此方法的缺點(diǎn)是:需要為每一個提示文字不同的input制作背景圖片,并且設(shè)置input的樣式。

HTML代碼不變。

CSS:

.phbg{ background:url(img/bg.jpg) 0 0 no-repeat;}

JS:

$(function(){  
 
   //判斷瀏覽器是否支持placeholder屬性
   supportPlaceholder="placeholder" in document.createElement("input");
 
   if(!supportPlaceholder){
 
     //初始狀態(tài)添加背景圖片
     $("#uname").attr("class","phbg");
     //初始狀態(tài)獲得焦點(diǎn)
     $("#uname").focus;
 
     function destyle(){
      
      if($("#uname").val() != ""){
         
        $("#uname").removeClass("phbg");
      }else{
       
        $("#uname").attr("class","phbg");
       }
     }
      
     //當(dāng)輸入框?yàn)榭諘r,添加背景圖片;有值時去掉背景圖片
     destyle();
 
     $("#uname").keyup(function(){
 
      //當(dāng)輸入框有按鍵輸入同時輸入框不為空時,去掉背景圖片;有按鍵輸入同時為空時(刪除字符),添加背景圖片
      destyle();
     });
 
     $("#uname").keydown(function(){
      
      //keydown事件可以在按鍵按下的第一時間去掉背景圖片
      $("#uname").removeClass("phbg");
     });
   }
});

此方法至此結(jié)束。

此方法在IETester的IE8下顯示效果:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/82423.html

相關(guān)文章

  • IE 8 瀏覽器 placeholder 兼容處理

    摘要:經(jīng)過不斷的嘗試和參考別的產(chǎn)品在下兼容處理。我整理下,具體見下兼容處理通過處理時和時來控制文本的顯示和隱藏。其中關(guān)鍵的時和。在父子元素中生效,需要在父級元素設(shè)置手機(jī)號郵箱密碼希望能夠?qū)Υ蠹矣袔椭? 寫在前面 由于公司的產(chǎn)品需要兼容 IE8 瀏覽器,在做登陸時,發(fā)現(xiàn)一個問題,placeholder 在input = text 情況下,顯示還算正常,但在 input = password 就...

    vboy1010 評論0 收藏0
  • IE 8 瀏覽器 placeholder 兼容處理

    摘要:經(jīng)過不斷的嘗試和參考別的產(chǎn)品在下兼容處理。我整理下,具體見下兼容處理通過處理時和時來控制文本的顯示和隱藏。其中關(guān)鍵的時和。在父子元素中生效,需要在父級元素設(shè)置手機(jī)號郵箱密碼希望能夠?qū)Υ蠹矣袔椭? 寫在前面 由于公司的產(chǎn)品需要兼容 IE8 瀏覽器,在做登陸時,發(fā)現(xiàn)一個問題,placeholder 在input = text 情況下,顯示還算正常,但在 input = password 就...

    zqhxuyuan 評論0 收藏0
  • IE 8 瀏覽器 placeholder 兼容處理

    摘要:經(jīng)過不斷的嘗試和參考別的產(chǎn)品在下兼容處理。我整理下,具體見下兼容處理通過處理時和時來控制文本的顯示和隱藏。其中關(guān)鍵的時和。在父子元素中生效,需要在父級元素設(shè)置手機(jī)號郵箱密碼希望能夠?qū)Υ蠹矣袔椭? 寫在前面 由于公司的產(chǎn)品需要兼容 IE8 瀏覽器,在做登陸時,發(fā)現(xiàn)一個問題,placeholder 在input = text 情況下,顯示還算正常,但在 input = password 就...

    Chiclaim 評論0 收藏0
  • ie8兼容問題

    input標(biāo)簽placeholder 1.input里面的placeholder屬性,在pc端用的特別好,但是萬惡的ie8,placeholder竟然不支持。于是找到一種方法解決在ie8中placeholder無效的事 $(function() { // 如果不支持placeholder,用jQuery來完成 if(!isSupportPlaceholder()) { ...

    Worktile 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<