placeholder属性IE兼容方案

本文介绍了在IE9及以下版本浏览器中实现input标签placeholder属性的两种兼容方案,包括使用value属性模拟和利用span标签配合绝对定位的方法。

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

placeholder

当我们使用input标签的placeholder属性时,可以很方便的完成输入框的提示功能,在大多数主流浏览器都能完美的显示出来
不过在IE9以及更低版本的IE浏览器,这个属性就失效了,我们可以用以下两种方法来解决这个问题,首先我们看一下html示例代码

index.html

<form name="loginForm" method="post">
        <li>
            <input type="text"  name='username' placeholder="请输入内容"/>
        </li>
</form>

方法1:使用input的value属性模拟

main.js

var loginForm=document.forms[0],
    /*document.forms["loginForm"]*/
    user=loginForm.elements["username"];
user.onblur=function(){
    if(user.value=""){
        user.value="请输入内容";
    }   
};
user.onfocus=function(){
    if(user.value=""){
        user.value="请输入内容";
    }   
};
通过设置focus和blur事件,判断是否有输入值,且初始化input的value即可模拟这种效果

方法2:使用一个span标签放置在input标签之上,使用绝对定位,设置其父级元素为相对定位

这样会有一个小bug,当点击到span标签的时候,不会触发input的focus事件,这个时候我们直接给span标签添加一个click事件,自动聚焦input即可

总结:解决兼容性很烦躁,特别是IE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值