You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
6 years ago
|
// JavaScript Document
|
||
|
/*
|
||
|
* jQuery placeholder, fix for IE6,7,8,9
|
||
|
* @author JENA
|
||
|
* @since 20131115.1504
|
||
|
* @website ishere.cn
|
||
|
*/
|
||
|
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');
|
||
|
self.wrap($('<div></div>').css({position:'relative', zoom:'1', border:'none', background:'none', padding:'none', margin:'none'}));
|
||
|
var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css('padding-left');paddingtop = self.css('padding-top');
|
||
|
var holder = $('<span></span>').text(txt).css({position:'absolute', fontSize:'1em', left:pos.left, top:pos.top, height:h, lienHeight:h, paddingLeft:paddingleft, paddingTop:paddingtop, color:'#aaa'}).appendTo(self.parent());
|
||
|
self.focusin(function(e) {
|
||
|
holder.hide();
|
||
|
}).focusout(function(e) {
|
||
|
if(!self.val()){
|
||
|
holder.show();
|
||
|
}
|
||
|
});
|
||
|
holder.click(function(e) {
|
||
|
holder.hide();
|
||
|
self.focus();
|
||
|
});
|
||
|
});
|
||
|
}
|
||
|
};
|
||
|
//执行
|
||
|
jQuery(function(){
|
||
|
JPlaceHolder.init();
|
||
|
});
|