IE9 以下兼容placeholder

placeholder屬性是HTML5新添加的屬性,當(dāng)input或者textarea設(shè)置了該屬性后,該值的內(nèi)容將作為灰色提示顯示在文本框中,當(dāng)文本框獲得焦點(diǎn)時(shí),提示文字消失,placeholder可作為輸入框的提示文字
效果圖


Paste_Image.png

placeholder是常用的屬性,它使得input框內(nèi)有很友好的提示效果。高版本瀏覽器都支持placeholder屬性,但I(xiàn)E9以下版本的瀏覽器并不支持這一屬性。這里用JavaScript實(shí)現(xiàn)添加對瀏覽器的兼容處理。

        function isPlaceholder(){
            var input = document.createElement('input');
            return 'placeholder' in input;
        }
        if (!isPlaceholder()) {//不支持placeholder 用jquery來完成
            $(document).ready(function() {
                if(!isPlaceholder()){
                    $("input").not("input[type='password']").each(//把input綁定事件 排除password框
                            function(){
                                if($(this).val()=="" && $(this).attr("placeholder")!=""){
                                    $(this).val($(this).attr("placeholder"));
                                    $(this).focus(function(){
                                        if($(this).val()==$(this).attr("placeholder")) $(this).val("");
                                    });
                                    $(this).blur(function(){
                                        if($(this).val()=="") $(this).val($(this).attr("placeholder"));
                                    });
                                }
                            });
                    //對password框的特殊處理1.創(chuàng)建一個(gè)text框 2獲取焦點(diǎn)和失去焦點(diǎn)的時(shí)候切換
                    $("input[type='password']").each(
                            function() {
                                var pwdField    = $(this);
                                var pwdVal      = pwdField.attr('placeholder');
                                pwdField.after('<input  class="login-input" type="text" value='+pwdVal+' autocomplete="off" />');
                                var pwdPlaceholder = $(this).siblings('.login-input');
                                pwdPlaceholder.show();
                                pwdField.hide();

                                pwdPlaceholder.focus(function(){
                                    pwdPlaceholder.hide();
                                    pwdField.show();
                                    pwdField.focus();
                                });

                                pwdField.blur(function(){
                                    if(pwdField.val() == '') {
                                        pwdPlaceholder.show();
                                        pwdField.hide();
                                    }
                                });
                            })
                }
            });
        }

導(dǎo)入這個(gè)js就可以兼容ie9以下不顯示placeholder的問題了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,165評論 1 92
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,614評論 19 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,419評論 4 61
  • APP入口的 UITabBarController【A】 創(chuàng)建方式和正常方式一樣,可以使用代碼,也可以使用stor...
    KermitX閱讀 4,120評論 11 20
  • 匆匆時(shí)光 新的一年又要開始了 辭舊迎新 老鳳祥新年狂歡慶典 老鳳祥百年經(jīng)典源自1848年的 古老傳承,結(jié)合現(xiàn)代高精...
    奇思噢閱讀 923評論 0 0

友情鏈接更多精彩內(nèi)容