欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

兩種方法基于jQuery實現(xiàn)IE瀏覽器兼容placeholder效果

 更新時間:2014年10月14日 11:33:25   投稿:hebedich  
這篇文章主要介紹了兩種方法基于jQuery實現(xiàn)IE瀏覽器兼容placeholder效果,需要的朋友可以參考下

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

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

獲得焦點前:

獲得焦點時:

偏偏IE11要搞點特殊:

獲得焦點前:

獲得焦點時:

也就是說獲得焦點時提示的文字會消失。

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

方法一

效果預覽:

http://jsfiddle.net/L57b25yr/embedded/result/

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

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

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

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

此方法的缺點是,不適用于加載完DOM時即獲得焦點的輸入框,因為在用戶的角度,加載完頁面時看到的獲得焦點的那個輸入框,它的提示文字是看不到的。

HTML:

<input type="text" id="uname" name="uname" placeholder="請輸入用戶名"/>

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");
    });
  };

  //當瀏覽器不支持placeholder屬性時,調(diào)用placeholder函數(shù)
  if(!supportPlaceholder){

    $('input').each(function(){

      text = $(this).attr("placeholder");

      if($(this).attr("type") == "text"){

        placeholder($(this));
      }
    });
  }

});

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

方法二

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

背景圖如下:

當輸入框不為空時,去掉背景圖;

當輸入框為空時,加載背景圖;

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

當用戶鍵盤按鍵且輸入框為空( 刪除字符 )時,加載背景圖。

此方法的缺點是:需要為每一個提示文字不同的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)獲得焦點
     $("#uname").focus;

     function destyle(){
     
      if($("#uname").val() != ""){
        
        $("#uname").removeClass("phbg");
      }else{
      
        $("#uname").attr("class","phbg");
       }
     }
     
     //當輸入框為空時,添加背景圖片;有值時去掉背景圖片
     destyle();

     $("#uname").keyup(function(){

      //當輸入框有按鍵輸入同時輸入框不為空時,去掉背景圖片;有按鍵輸入同時為空時(刪除字符),添加背景圖片
      destyle();
     });

     $("#uname").keydown(function(){
     
      //keydown事件可以在按鍵按下的第一時間去掉背景圖片
      $("#uname").removeClass("phbg");
     });
   }
});

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

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

獲得焦點時:

失去焦點時:

有輸入時:

如果有朋友有更好的方法,歡迎交流討論。

相關(guān)文章

  • 基于Jquery制作圖片文字排版預覽效果附源碼下載

    基于Jquery制作圖片文字排版預覽效果附源碼下載

    通過jquery和css相結(jié)合的方式實現(xiàn)鼠標點擊圖片彈出畫廊切換特效,效果逼真,下面小編把源碼分享給大家供大家參考
    2015-11-11
  • jQuery 實現(xiàn)批量提交表格多行數(shù)據(jù)的方法

    jQuery 實現(xiàn)批量提交表格多行數(shù)據(jù)的方法

    今天小編就為大家分享一篇jQuery 實現(xiàn)批量提交表格多行數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • jQuery實現(xiàn)tab欄切換效果

    jQuery實現(xiàn)tab欄切換效果

    這篇文章主要為大家詳細介紹了jQuery實現(xiàn)tab欄切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • jQuery實現(xiàn)消息滾動播放效果

    jQuery實現(xiàn)消息滾動播放效果

    這篇文章主要為大家詳細介紹了jQuery實現(xiàn)消息滾動播放效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • jquery創(chuàng)建div 實現(xiàn)代碼

    jquery創(chuàng)建div 實現(xiàn)代碼

    有時候我們需要動態(tài)創(chuàng)建一個div下面是具體的實現(xiàn)代碼,大家只要熟悉了jquery的一些基本用法就能輕松的實現(xiàn)。
    2009-04-04
  • jQuery拖拽插件gridster使用指南

    jQuery拖拽插件gridster使用指南

    gridster.js是一款基于jquery的前端拖拽插件,效果相當?shù)牟诲e,大家可以先看看Demo(http://gridster.net/#intro)(藍色部分的白塊就是了,可以隨便拖動,娛樂性很強)。
    2015-04-04
  • jQuery實現(xiàn)仿美橙互聯(lián)兩級導航菜單效果完整實例

    jQuery實現(xiàn)仿美橙互聯(lián)兩級導航菜單效果完整實例

    這篇文章主要介紹了jQuery實現(xiàn)仿美橙互聯(lián)兩級導航菜單效果,以完整實例形式分析了jQuery響應(yīng)鼠標事件實現(xiàn)針對頁面元素的遍歷及樣式的動態(tài)操作技巧,需要的朋友可以參考下
    2015-09-09
  • 基于jQuery實現(xiàn)自動輪播旋轉(zhuǎn)木馬特效

    基于jQuery實現(xiàn)自動輪播旋轉(zhuǎn)木馬特效

    這篇文章主要介紹了基于jQuery實現(xiàn)自動輪播旋轉(zhuǎn)木馬特效,圖片輪播效果特別適合做產(chǎn)品展示,感興趣的小伙伴可以參考下。
    2015-11-11
  • jquery密碼強度校驗

    jquery密碼強度校驗

    這篇文章主要介紹了jquery密碼強度校驗,這是一個非常常見的功能,在輸入密碼的時候提示密碼的強度,本文使用jQuery來實現(xiàn),有需要的小伙伴可以參考下。
    2015-12-12
  • Notify - 基于jquery的消息通知插件

    Notify - 基于jquery的消息通知插件

    Notify - 基于jquery的消息通知插件,需要的朋友可以收藏下。
    2011-10-10

最新評論