• placeholder 兼容 IE


    placeholder 是 html5 的新属性,仅支持 html5 的浏览器才支持 placeholder,目前最新的 FF、Chrome、Safari、Opera 以及 IE10 都支持,IE6-IE9 都不支持!

    placeholder 在各个浏览器下基本都是淡灰色显示,不同的地方在于 FF 和 Chrome 中,输入框获得焦点时,placeholder 文字没有变化,只有当输入框中输入了内容时,placeholder 文字才会消失;而在 Safari 和 IE10 下,当输入框获得焦点时,placeholder 文字便立即消失。

    js 解决方法:

    if( !("placeholder" in document.createElement("input")) ){   
        $("input[placeholder],textarea[placeholder]").each(function(){
            var that = $(this),
                text= that.attr("placeholder");
            if(that.val()===""){
                that.val(text).addClass("placeholder");
            }
            that.focus(function(){
                if(that.val()===text){
                    that.val("").removeClass("placeholder");
                }
            })
            .blur(function(){
                if(that.val()===""){
                    that.val(text).addClass("placeholder");
                }
            })
            .closest("form").submit(function(){
                if(that.val() === text){
                    that.val("");
                }
            });
        });
    }

     在页面里引入 jquery,再执行上面这段代码即可!

    例子:

    <!doctype html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>placeholder兼容</title>
        </head>
    
        <body>
            <input type="text" placeholder="我是提示文字">

    <!-- 这里 src 改成你自己的 jquery 路径 --> <script type="text/javascript" src="../scripts/common/jquery-1.8.3.min.js"></script>
    <script type="text/javascript"> $(function() { if( !('placeholder' in document.createElement('input')) ){ $('input[placeholder],textarea[placeholder]').each(function(){ var that = $(this), text= that.attr('placeholder'); if(that.val()===""){ that.val(text).addClass('placeholder'); } that.focus(function(){ if(that.val()===text){ that.val("").removeClass('placeholder'); } }) .blur(function(){ if(that.val()===""){ that.val(text).addClass('placeholder'); } }) .closest('form').submit(function(){ if(that.val() === text){ that.val(''); } }); }); } }); </script> </body> </html>

    到此,placeholder 兼容问题已解决!

  • 相关阅读:
    JavaScript函数
    JavaScript数组知识点
    面向对象之继承及属性查找顺序
    面向对象二
    面向对象
    正则表达式补充
    垃圾回收机制、标记删除及分代回收
    hashlib、hmac、subprocess、configparser模块
    模块、起别名、from导入
    递归、匿名函数、内置函数
  • 原文地址:https://www.cnblogs.com/lpbottle/p/placeholder.html
Copyright © 2020-2023  润新知