ie9以下浏览器不兼容placeholder的解决方案

html结构如下:
<form action="post" class="xz-form" id="xz-form">    <div id="validate"  class="xz-validate-tip"></div>

    <div class="xz-userName">        <input class="xz-inputName"  id="userName" type="text" required="required" placeholder="用户名:"/>        <span class="hide xz-placeholder">用户名:</span>        <img class="xz-info-wrong" src="images/wrong.png" alt="错误标志"/>    </div>

    <div class="xz-password">        <input class="xz-inputPwd" id="password" type="password" required="required" placeholder="密码:"/>        <span class="hide xz-placeholder">密码:</span>        <img class="xz-info-wrong" src="images/wrong.png" alt="错误标志"/>    </div>

    <div class="xz-verification">        <input class="xz-inputVerification" id="verification" required="required" placeholder="验证码:"/>        <span class="hide xz-placeholder">验证码:</span>        <img class="img-verification" src="images/getimg.jpg" alt="验证码图片"/>        <img class="xz-info-wrong" src="images/wrong.png" style="right: 170px" alt="错误标志"/>

        <div class="clear"></div>    </div>

    <div class="xz-btn-login">        <a id="xz-btn" href="javascript:void(0)"  class="disabled">登录</a>    </div></form>
js代码如下:

//检测是否是Ie浏览器function isIE() { //ie?    var browser=navigator.appName

    var b_version=navigator.appVersion

    var version=b_version.split(";");

    var trim_Version=version[1].replace(/[ ]/g,"");

    if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE7.0")    {        return true;    }else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE8.0"){        return true;    }else if(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE9.0"){        return true;    } else {        return false;    }}

//解决ie不支持placeholder$(‘#xz-form span.xz-placeholder‘).each(function () {    if(isIE()) {        var $this = $(this);        if(!$this.prev().val() || $this.prev().val() == "" ) {            $this.show();        }    }})

$(‘#xz-form span.xz-placeholder‘).bind("click",function(){    if(isIE()){        $(this).hide();        $(this).prev().focus();    }})

$(‘#xz-form input‘).bind({    focus:focus,    blur:blur})

function focus() {    if(isIE()) {        var $this = $(this);        $this.next().hide();    }}

function blur() {    if(isIE()){        var $this = $(this);        if($this.val() == ""){            $this.next().show();        }    }}
时间: 2024-08-01 13:30:51

ie9以下浏览器不兼容placeholder的解决方案的相关文章

常见浏览器的兼容问题以及解决方案 (仅供参考)

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

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

虽说现在很多网站都放弃了IE浏览器的低版本,但是很多时候咱们还得看甲方的要求就制作网站.如果甲方要求兼容IE789,那么咱们就得给人家做出来兼容的产品. 今天就IE789的input标签的placeholder说一说解决方法. 一.优雅降级解决(极力推荐) 也就是俗称的不解决细节,只要大体能满足浏览的要求就可以,placeholder低版本不显示,那么咱们就不在去做兼容方法,反正以后的几年IE低版本的浏览器会被淘汰. 二.使用input的value制作placeholder的效果 这个是我以前用

对浏览器兼容问题的解决方案

目前,最为流行的浏览器共有五个:分别是ie,Edge浏览器(属于微软),火狐,谷歌(chrome)Safari和Opera五大浏览器. Trident内核:IE ,360,,猎豹,百度: Gecko内核:火狐----------->这个浏览器内核是开源的浏览器内核,插件非常多,-------------->缺点:打开速度慢(加载flash插件)<-----额外介绍----->. Presto内核:Opera7及以上版本 Webkit:遨游,苹果 ,symbian:Safari.Ch

兼容各种浏览器的图片垂直居中CSS解决方案

1.通过添加一无语义图片来解决图片垂直居中CSS,兼容各种IE6,IE7,火狐,谷歌等浏览器. <style> .itm{border:2px solid #ccc;width:160px;height:160px;text-align:center;} .blank{width:0;height:160px;} .itm img{vertical-align:middle;} </style> <div class="itm"> <img s

【jquery】基于 jquery 实现 ie 浏览器兼容 placeholder 效果

placeholder 是 html5 新增加的属性,主要提供一种提示(hint),用于描述输入域所期待的值.该提示会在输入字段为空时显示,并会在字段获得焦点时消失.placeholder 属性适用于以下类型的 input 标签:text, search, url, telephone, email 以及 password. 我们先看下在谷歌浏览器中的效果,如图所示: 获得焦点时: 输入字段: 因为是 html5 属性,自然低版本的浏览器比如 ie6-8 不兼容.下面就介绍下如何在低版本浏览器中

浏览器兼容问题的解决方案

对于前端开发良好的浏览器兼容必不可少,总结一下遇到浏览器兼容问题的解决办法. 1.保证浏览器默认css样式一致: 2.书写规范的css,然后在不同的浏览器下测试,针对不同的bug,用适当的方式解决.如:css Hack, 3.使用好的前端架构,通过第三方控件兼容浏览器: 4.多学习.多积累.多google.  一.保证浏览器默认css样式一致 首先要保证各个浏览器的默认样式的统一,所以这里就用到了css.reset.网络上有各种版本的reset代码,一般都是在一个项目的base.css里.我在这

IE9及以下兼容placeholder

在input输入框中使用placeholder,可以给用户起到提醒或指引的作用,但是IE9及以下的IE版本都不支持placeholder,故在此给出一些解决方法: 使用value来代替(做非空判断时需要排除值等于placeholder值的情况) 添加标签(需注意如何触发事件) 引用现成插件 jquery.placeholder.min.js(请自行搜索下载,此处就不多说了) 不管用哪种方法,我们都要先判断浏览器是否不支持placeholder,不支持的时候我们才需要处理 function pla

浏览器兼容问题及解决方案

1.图片间隙 A)div中的图片间隙(该bug出现在IE6以及更低版本当中) 描述:在div中插入图片时,图片会将div下方撑大三像素 hack1:将</div>和<img>写在一行上 hack2:将<img>转化为块状元素,给<img>添加声明:display:block; B)dt,li中的图片间隙(IE6) hack1:将<img>转化为块状元素,给<img>添加声明:display:block; hack2:<img&g

兼容placeholder

众所周知.IE9以下不兼容placeholder属性,因此自己定义了一个jQuery插件placeHolder.js.以下为placeHolder.js的代码: /** * 该控件兼容IE9下面,专门针对IE9下面不支持placeholder属性所做 * Author: quranjie * Date:2014-09-26 */ $(function() { // 假设不支持placeholder,用jQuery来完毕 if(!isSupportPlaceholder()) { // 遍历全部i