placeholder兼容ie和password

本文介绍了一种兼容不支持placeholder属性的老浏览器的方法。通过JavaScript检测浏览器是否支持该属性,并在不支持的情况下使用jQuery实现占位符效果,特别关注密码框的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//判断浏览器是否支持placeholder属性
    var supportPlaceholder='placeholder' in document.createElement('input');


    function placeholder(input){


            var text = input.attr('placeholder'),
                defaultValue = input.defaultValue;


            //验证密码框    
            if(input.attr("type") == "password"){
                if(input.val()!=""){
                    input.attr("type","password");
                }else{
                    input.attr("type","text");
                }
                
                input.focus(function(){
                    input.attr("type","password");
                }).blur(function(){
                    if(input.val() == ""){
                        input.attr("type","text");
                    }
                });
            }


            if(input.val() == ""){
                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属性时,调用placeholder函数
    if(!supportPlaceholder){


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


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


            
                placeholder($(this));
            
        });
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值