中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決html5新標簽 placeholder 低版本瀏覽器下不兼容問題

發布時間:2020-07-10 07:04:35 來源:網絡 閱讀:460 作者:txytxyt 欄目:web開發

placeholder屬性是HTML5 中為input添加的。在input上提供一個占位符,文字形式展示輸入字段預期值的提示信息(hint),該字段會在輸入為空時顯示。


實例:
1
<input type="text" name="userName" placeholder="請輸入用戶名">


placeholder操作起來非常方便,提高了開發效率,同時在高版本瀏覽器中用戶體驗也很好,所以本人很喜歡用這個屬性。

然而,在IE9以下版本瀏覽器就失效了,并且IE10+支持placeholder屬性,它的表現與其它瀏覽器也不一致

  • IE10+里鼠標點擊時(獲取焦點)placeholder文本消失

  • Firefox/Chrome/Safari點擊不消失,而是鍵盤輸入時文本消失

那么作為一名開發人員,是否應該去克服解決這個問題呢。目前網上也一堆類似解決方案,大致實現思路分為兩種:

  1. (方式一)使用input的value作為顯示文本,模擬灰色樣式,focus讓$("[placeholder]").val()=="",blur時$("[placeholder]").val(this.defaultValue);

  2. (方式二)不使用value,添加一個額外的標簽(span)到body里然后絕對定位覆蓋到input上面。

在這里因第一種方式實現起來,占用了value且驗證時需要做額外的判斷,那么個人建議使用第二種方式。


首先,判斷當前瀏覽器是否支持placeholder屬性:

1 function placeholderSupport() {2     return 'placeholder' in document.createElement('input');3 }

上關鍵代碼:

/**placeholder兼容ie9以下 author:高豐鳴 add 2016-1-27*/$(function(){if(!placeholderSupport()){   // 判斷瀏覽器是否支持 placeholder
   $(document).ready(function(){         //默認遍歷循環添加placeholder
       $('[placeholder]').each(function(){
           $(this).parent().append("<span class='placeholder'>"+$(this).attr('placeholder')+"</span>");
       })
       $('[placeholder]').blur(function(){            if($(this).val()!=""){  //如果當前值不為空,隱藏placeholder
               $(this).parent().find('span.placeholder').hide();
           }            else{
               $(this).parent().find('span.placeholder').show();
           }
       })
   });
   }
});        


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长葛市| 烟台市| 通州市| 永兴县| 防城港市| 台州市| 西乌珠穆沁旗| 靖宇县| 综艺| 抚州市| 紫云| 上犹县| 永德县| 洪江市| 正宁县| 吉林省| 乳山市| 马关县| 韩城市| 隆化县| 淳安县| 长汀县| 汉寿县| 电白县| 陆丰市| 西华县| 崇仁县| 襄垣县| 普洱| 延安市| 奉新县| 灵丘县| 崇文区| 井研县| 嘉善县| 文化| 渑池县| 伊通| 龙南县| 辰溪县| 句容市|