用JavaScript解决Placeholder的IE8兼容问题


HTML5新加的Placeholder属性可以很方便的代替之前用onfocus,onblur的方法,并且比它更强大,
但是万恶的IE8却不兼容。
可以使用JavaScript来解决IE8兼容问题,在IE8下,自动替换成onfocus方法,
在支持HTML5的浏览器中则还是用Placeholder,不干扰。
首先需要添加jQuery

如果你的网站已经添加了jQuery,请忽略这一部。

在网站Head标签内添加:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.2.min.js">
</script>
添加js代码

将以下代码添加到</body>之前的任意位置:


<script type="text/javascript">  
  if( !('placeholder' in document.createElement('input')) ){  
 
    $('input[placeholder],textarea[placeholder]').each(function(){   
      var that = $(this),   
      text= that.attr('placeholder');   
      if(that.val()===""){   
        that.val(text).addClass('placeholder');   
      }   
      that.focus(function(){   
        if(that.val()===text){   
          that.val("").removeClass('placeholder');   
        }   
      })   
      .blur(function(){   
        if(that.val()===""){   
          that.val(text).addClass('placeholder');   
        }   
      })   
      .closest('form').submit(function(){   
        if(that.val() === text){   
          that.val('');   
        }   
      });   
    });   
  }  
</script> 

你可能感兴趣的:(JavaScript,jquery,html5)