html中的placeholder属性很好用,但是不支持神奇的IE,下面是解决方法:
先给出 Demo
// This adds 'placeholder' to the items listed in the jQuery .support object. jQuery(function() { jQuery.support.placeholder = false; test = document.createElement('input'); if('placeholder' in test) jQuery.support.placeholder = true; }); // This adds placeholder support to browsers that wouldn't otherwise support it. $(function() { if(!$.support.placeholder) { var active = document.activeElement; $(':text').focus(function () { if ($(this).attr('placeholder') != '' && $(this).val() == $(this).attr('placeholder')) { $(this).val('').removeClass('hasPlaceholder'); } }).blur(function () { if ($(this).attr('placeholder') != '' && ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))) { $(this).val($(this).attr('placeholder')).addClass('hasPlaceholder'); } }); $(':text').blur(); $(active).focus(); $('form:eq(0)').submit(function () { $(':text.hasPlaceholder').val(''); }); } });
包括浏览器中的奇葩IE6也支持
当然,此代码依赖jQuery。