2011-10-24 68 views
0

我想在IE中設置輸入框的佔位符。但它沒有工作......如何在IE中設置輸入框的佔位符

<script> 
// 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(''); 
     }); 
    } 
}); 

我使用jQuery來做到這一點。第一個我定義了「佔位符」,第二個我添加了對瀏覽器的佔位符支持。

+0

你可以試試這個: http://dciccale.github.com/placeholder-enhanced/ – vietean

回答

0

我不確定,但如果您使用相框來執行此操作,您將遇到document.activeElement的問題。嘗試發表評論,並呼籲$(active).focus();了。