Ie9以下的input输入框placeholder属性兼容方案

本文介绍了一种在不支持placeholder属性的浏览器(如IE9及以下版本)中使用jQuery模拟placeholder效果的方法。通过判断浏览器是否支持placeholder,并利用jQuery为输入框绑定事件,实现了输入提示文本的显示与隐藏。

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

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8">
<style> 
.placeholder{ color:#999;}
</style> 
<script src="jquery-3.2.0.min.js"></script><!--需引入jQuery-->
<!--[if lte IE 9]>
<script>
//   兼容ie9的placeholder
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).addClass("placeholder");
                            $(this).focus(function(){
                                if($(this).val()==$(this).attr("placeholder")){
$(this).val("");
$(this).removeClass("placeholder");
}
                            });
                            $(this).blur(function(){
                                if($(this).val()==""){
$(this).val($(this).attr("placeholder"));
$(this).addClass("placeholder");
}
                            });
                        }
                    });
            //对password框的特殊处理1.创建一个text框 2获取焦点和失去焦点的时候切换
            $("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.addClass("placeholder");
                        pwdPlaceholder.show();

pwdPlaceholder.addClass($(pwdField).attr('class'))
                        pwdField.hide();


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


                        pwdField.blur(function(){
                            if(pwdField.val() == '') {
                                pwdPlaceholder.show();
                                pwdField.hide();
                            }
                        });
                    })
        }
    });
}
//    end
</script>
<![endif]-->


</head> 
<body> 
<p>hello world</p>
    <input type="text" placeholder="请输入验证码"><br>
    <input type="password" placeholder="请输入密码">
</body> 


</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值