placeholder不兼容 IE10 以下版本的解决方法

对于密码输入框placeholder的兼容问题:

HTML代码:

<input type="password" id="loginPassword" placeholder="密码(6-16位字母数字)" class="width270">
<input type="text" passwordMask="true" placeholder="密码(6-16位字母数字)" style="display:none;" class="width270">

JS代码:<!-- 对于IE 10 以下版本placeholder的兼容性调整 -->
<!--[if lt IE 10]>
<script>
$(function(){
//文本域的事件监听
$("input[type!=‘password‘][passwordMask!=‘true‘],textarea").bind({
"focus":function(){
var placeholderVal = $(this).attr("placeholder");
var realVal = $(this).val();
if($.trim(realVal)==placeholderVal){
$(this).val("");
}
},
"blur":function(){
var placeholderVal = $(this).attr("placeholder");
var realVal = $(this).val();
if($.trim(realVal)==""){
$(this).val(placeholderVal);
}
}
});

//初始化除password框之外的文本域
$("input[type!=‘password‘],textarea").each(function(i,n){
$(this).val($(this).attr("placeholder"));
});

//密码框失去焦点,显示文本框
$("input[type=‘password‘]").blur(function(){
var next = $(this).next("input[type=‘text‘][passwordMask=‘true‘]");
var val = $(this).val();
if($.trim(val)==""){
$(next).show();
$(this).hide();
}
});

//文本框获得焦点,显示密码框
$("input[type=‘text‘][passwordMask=‘true‘]").focus(function(){
var prev = $(this).prev("input[type=‘password‘]");
$(this).hide();
$(prev).show().focus();
});

//页面初始化密码框为文本框
$("input[type=‘text‘][passwordMask=‘true‘]").each(function(i,n){
var prev = $(this).prev("input[type=‘password‘]");
$(prev).hide();
$(this).show();
});

});
</script>
<![endif]-->

上面的方法只能解决密码输入框,建议在网上找jQuery的placeholder插件,

有一款jQuery的placeholder插件确实很不多,用起来也挺方便

下载源码地址:https://github.com/jamesallardice/Placeholders.js/

引用方法直接在页面上加载下载好的插件,再调用插件:

<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js/placeholders.js"></script>

<script type="text/javascript">
    $(function(){ $(‘input, textarea‘).placeholder(); });
</script>

时间: 2024-11-03 18:31:46

placeholder不兼容 IE10 以下版本的解决方法的相关文章

Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法

参考:Visual Studio 2012出现“无法访问T-SQL组件和安装了不兼容伯 DacFx版本”的解决办法 Vs2012的下载地址: https://msdn.microsoft.com/en-us/jj650015

iis System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本。”解决方法

今天事情特别多, 电话不断, 但事情得一件一件的做. 在用VSTS2005/2008+Oracle9做环境连接Oracle时候,在VS 开发服务器运行正常,但IIS服务器调试和部署会报错! IIS服务器报错:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本. 出错的原因: 1.虽然报的是需要安装客户端8.1.7及以上版本,实际是.net账户没有访问Oracle\bin文件夹的权限 2.在 Windows Server 2003/2008 的

maven-compiler-plugin 版本错误解决方法

项目执行Maven build后出现WARNING提示.报如信息如下,根据报错信息猜测是maven-compiler-plugin的版本信息问题 [WARNING] [WARNING] Some problems were encountered while building the effective model for com.xxx.xxx:xxxx:jar:0.0.1-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.ap

MySQL表类型和存储引擎版本不一致解决方法

使用的是老版本的mysql客户端Navicate 8 ,mysql 服务端用的是mysql5.6的版本,在修改版本引擎的时候出现版本不对; mysql error ‘TYPE=MyISAM’ 解决办法: Replace TYPE=MyISAM with ENGINE=MyISAM The problem was “TYPE=MyISAM” which should be “ENGINE=MyISAM” as per MySQL version updates – a simple search

兼容ie10以下版本的placeholder属性

<script src="${ctx }/js/jquery.placeholder.js" type="text/javascript"></script> $(function() { $('input').placeholder();//兼容ie10下placeholder属性: }); js文件地址

ScriptManager,updatepanel中按钮事件不兼容IE10以后版本

IE10下调试会报javascript错误:Sys.WebForms.PageRequestManagerServerErrorException ScriptManager控件之后添加 <script type="text/javascript"> Sys.WebForms.PageRequestManager.getInstance()._origOnFormActiveElement = Sys.WebForms.PageRequestManager.getInsta

ie8以下不兼容h5新标签的解决方法

HTML5新添了一些语义化标签,他们能让代码语义化更直观易懂,有利于SEO优化.但是此HTML5新标签在IE6/IE7/IE8上并不能识别,需要进行JavaScript处理. 解决思路就是用js创建html5中的新标签,代码如下: <script> (function() { if (! /*@[email protected]*/ 0) return; var e = "abbr, article, aside, audio, canvas, datalist, details,

IE7、IE8不兼容js trim函数的解决方法

IE兼容,有时候让人头疼,但又不得不去解决. 先看看一下代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <s

eCharts图形在IE兼容模式中不能打开解决方法?

一.首先当然是看你页面布局是否正确. 二.对于eCharts在IE兼容模式中显示,需要指定meta元素中放入X-UA-Compatible ie=edge 标头. (不理解"X-UA-Compatible ie=edge"?) 实践中我的做法: