让placeholder属性支持ie

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。

原文地址:https://www.cnblogs.com/jmjweb/p/3195964.html