占位符在IE-9中不起作用,因此我使用以下代码作为占位符.
jQuery(function () { debugger; 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(''); }); } });
解决方法
我想这会对你有所帮助
if ($.browser.msie) { $("input").each(function () { if (IsNull($(this).val()) && $(this).attr("placeholder") != "") { $(this).val($(this).attr("placeholder")).addClass('hasPlaceHolder'); $(this).keypress(function () { if ($(this).hasClass('hasPlaceHolder')) $(this).val("").removeClass('hasPlaceHolder'); }); $(this).blur(function () { if ($(this).val() == "") $(this).val($(this).attr("placeholder")).addClass('hasPlaceHolder'); }); } }); }