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; };