placeholder(HTML 5) IE 兼容插件

placeholder 这个属性被越来越频繁的使用.
但为做HTML 5 特性IE没能实现这东西.
以下的jQuery插件就是用来在IE上实现该属性的.
/**
 * [placeholder(HTML 5) IE 实现.IE9以下通过测试.]
 * v 1.0 by oTwo 2014年7月31日 11:45:29
 */
$.fn.placeholder = function() {
	// 当系统支持 placeholder 时使用系统自带的.
	if ('placeholder' in document.createElement('input')) {
		return;
	}
	this.each(function(index, val) {
		var ele = $(this);

		//创建 显示层
		var div = $('<div>').css({
			"color": "#cccccc",
			"cursor": "text",
			"position": "absolute",
			"display": ele.val() ? 'none' : 'block',
			"zIndex": ele.css('zIndex') == 'auto' ? 'auto' : ele.css('zIndex') - 0 + 1,
			"left": ele.offset().left + 14,
			"top": ele.offset().top,
			"width": ele.outerWidth() - 14,
			"height": ele.outerHeight()
		}).text(ele.attr('placeholder')).appendTo('body');

		//绑定事件
		div.click(function(e) {
			ele.focusin().focus();
		});
		ele.focusin(function() {
			if ($(this).val()) {
				return;
			}
			div.hide();
		});
		ele.focusout(function() {
			if ($(this).val()) {
				return;
			}
			div.show();
		});
	});
	return this;
};

 

你可能感兴趣的:(JavaScript,jquery jQuery插件)