解決Placeholder的IE8相容問題
阿新 • • 發佈:2019-02-14
本篇文章主要介紹了使用jQuery快速解決input中placeholder值在ie中無法支援的問題。
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>無標題文件</title>
- <script type="text/javascript"
- <script type="text/javascript">
- //第一種方法
- $(document).ready(function(){
- var doc=document,inputs=doc.getElementsByTagName('input'),supportPlaceholder='placeholder'in doc.createElement('input'),placeholder=function(input){var text=input.getAttribute('placeholder'),defaultValue=input.defaultValue;
- if(defaultValue==''){
- input.value=text}
- input.onfocus=function(){
- if(input.value===text){this.value=''}};
- input.onblur=function(){if(input.value===''){this.value=text}}};
- if(!supportPlaceholder){
- for(var i=0,len=inputs.length;i<len;i++){var
- if(input.type==='text'&&text){placeholder(input)}}}});
- //第二種方法
- $(function(){
- if(!placeholderSupport()){ // 判斷瀏覽器是否支援 placeholder
- $('[placeholder]').focus(function() {
- var input = $(this);
- if (input.val() == input.attr('placeholder')) {
- input.val('');
- input.removeClass('placeholder');
- }
- }).blur(function() {
- var input = $(this);
- if (input.val() == '' || input.val() == input.attr('placeholder')) {
- input.addClass('placeholder');
- input.val(input.attr('placeholder'));
- }
- }).blur();
- };
- })
- function placeholderSupport() {
- return 'placeholder' in document.createElement('input');
- }
- </script>
- </head>
- <body>
- <form>
- <label for="name">使用者名稱:</label>
- <input type="text" placeholder="請輸入使用者名稱"/>
- </form>
- </body>
- </html>
*********************************其他方法*********************************
- <!--ie placeholder 相容 start-->
- <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>
- <!--ie placeholder 相容 end-->