您的位置:首页 > Web前端 > JavaScript

修复IE9.0下PlaceHolder 属性问题js脚本

2015-09-15 16:10 711 查看
在开发前端系统时候碰到这种兼容问题,以下是个人解决方案,希望能给其他人带来帮助:

var JPlaceHolder = {
//检测
_check: function () {
return 'placeholder' in document.createElement('input');
},
//初始化
init: function () {
if (!this._check()) {
this.fix();
}
},
//修复
fix: function () {
jQuery(':input[placeholder]').each(function (index, element) {
var self = $(this), txt = self.attr('placeholder'), atrValue = self.attr('type');

//密码文本框
if (atrValue == "password") {
self.attr("type", "text");
self.attr("pwd", "true");
} else {
self.attr("pwd", "false");
}

self.focusin(function (e) {
var atrpwd = self.attr('pwd');
if (atrpwd == "true") {
self.attr("type", "password");
} else {
self.attr("type", "text");
}
self.val("");
}).focusout(function (e) {
if (!self.val()) {
self.attr("type", "text");
self.val(txt);
}
});
if (self.val().length > 0) {
self.val("");
}
else {
self.val(txt);

}

});
}
};
//执行
jQuery(function () {
JPlaceHolder.init();
});


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: