低版本IE浏览器不兼容placeholder解决方法

虽说现在很多网站都放弃了IE浏览器的低版本,但是很多时候咱们还得看甲方的要求就制作网站。如果甲方要求兼容IE789,那么咱们就得给人家做出来兼容的产品。

今天就IE789的input标签的placeholder说一说解决方法。

一、优雅降级解决(极力推荐)

也就是俗称的不解决细节,只要大体能满足浏览的要求就可以,placeholder低版本不显示,那么咱们就不在去做兼容方法,反正以后的几年IE低版本的浏览器会被淘汰。

二、使用input的value制作placeholder的效果

这个是我以前用的一个方法,当input有光标的时候删除value的值,光标离开的时候再去查看内容,如果是空或者是跟原来的值一样的就显示value,具体代码如下。

<input type="text" value="我是一个input"/>(www.gendan5.com)
<script type="text/javascript">
$(function(){
$(‘input‘).each(function(){
$(this).attr(‘data-value‘,$(this).val())
})
$(‘input‘).on(‘focus input‘,function(){
var values = $(this).val();
var valued = $(this).data(‘value‘);
if ( values == valued ){
$(this).val(‘‘)
};
});
$(‘input‘).on(‘blur input‘,function(){
var values = $(this).val();
var valued = $(this).data(‘value‘);
if ( values == ‘‘ || values == valued){
$(this).val(valued)
};
});
});
</script>

三、使用另一个容器放input的内容(推荐)

具体的流程,

1、判断浏览器的版本,如果是低版本的浏览器启用容器提示方法

2、把input的placeholder放在box里面定位到input的下方,并且给input透明的背景

3、当鼠标获取+value有变化的的时候隐藏box

4、光标离开的时候内容进行比较,如果没有改变重新显示文字的box

原文地址:https://blog.51cto.com/14513127/2434947

时间: 2024-11-05 18:39:29

低版本IE浏览器不兼容placeholder解决方法的相关文章

关于input在IE低版本情况下不兼容的解决办法

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 </head> 7 <body> 8 <input type="text" /> 9 <span>0</span><em>字</em> 10 <u

解决opacity属性在低版本IE浏览器下失效的方法

以前,一直都以为ie9以下的版本不支持opacity属性.所以就同时使用 opacity和ie独特的filter蒙版.但是有些时候需要一些动态的效果,就比如层的渐渐消失,隐藏,就需要使用动态变化的opacity,这种情况下,同时使用opacity和filter就显的有点麻烦了. 其实,只使用opacity+jquery就完全解决这个问题. 用法如下: <script type="text/javascript"> $(function () { $("#p1&qu

split方法在低版本IE浏览器上无法解析的问题

今天在项目中发现一个很诡异的问题,通过js获取cookie时,发现赋给用户name的时候IE9和低于9以下的浏览器对比时获取到的名字不一样,通过调试发现是split方法在解析||时当值为空时就会出现被“吃掉”的问题. 当我们在开发的过程想要对特定的字符进行分割,首相想到的就是使用split函数,这样是一个效率非常高的方法.但是让人叹息的是该方法虽然可以在Chrome和Firefox正常运作,但是在低版本IE浏览器却无法正常工作,IE9及以上版本都没有问题.split方法是支持正则表达式的,ES中

模拟实现兼容低版本IE浏览器的原生bind()函数功能

模拟实现兼容低版本IE浏览器的原生bind()函数功能: 代码如下: if(!Function.prototype.bind){   Function.prototype.bind=function(oThis){     if (typeof this !== 'function'){       throw new TypeError('调用者不是当前函数对象');     }       var aArgs = Array.prototype.slice.call(arguments, 1

兼容低版本IE浏览器的边框阴影效果

兼容低版本IE浏览器的边框阴影效果:使用box-show属性可以实现边框阴影效果,但是IE8和IE8以下浏览器不支持此属性,不过可以通过以下方式实现,当然实现全兼容的方式有多种,下面是一种比较简陋的方式,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www

使用fixed制作浮动广告(注意:解决闪屏问题,但适用于高版本浏览器,低版本的浏览器不适用)

<script language="javascript" type="text/javascript"> //隐藏广告 function closeDiv(){ document.getElementById("floatDiv").style.display="none"; } </script> <body> <!--position:fixed能够使得广告div实现滚动效果,但

CSS的W3C标准的盒子模型和低版本IE浏览器的盒子模型

CSS中盒子模型的组成由内容区(content).内边距(padding).边框(border).外边距(margin)组成.内边距可细分为 padding-top.padding-right.padding-bottom.padding-left:边框可细分为 border-top.border-right.border-bottom.border-left:外边距可细分为 margin-top.margin-right.margin-bottom.margin-left. 对于盒子模型,W3

python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法?

python_java_selenium_ jenkins持续集成Firfox_chrome浏览器不显示的解决方法: 原因:因为jenkins是用windows installer 安装成 windows的服务了,那么jenkins是计算机服务理的一个后台服务,所以跑cases 的时候不显示浏览器 解决办法:1.我们需要关掉jenkins后台服务,让他从cmd(dos窗口)启动,类似于tomcat的手动启动下面的方法适合不用tomcat的同学(注意,用也可以配置好Tomcat放在webapp下启

页面多个Jquery版本共存的冲突问题,解决方法!

示例如下: <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> var j = jQuery.noConflict(true); </script> <script type="text/javascript" src="jquery-1.