1. 程式人生 > >在IE8及以下的瀏覽器中,不支持placeholder屬性的解決辦法

在IE8及以下的瀏覽器中,不支持placeholder屬性的解決辦法

模擬 att elf remove ddc 解決辦法 doc addclass put

以下代碼解決了在IE8及以下瀏覽器中不支持placeholder屬性。

原理:將placeholder的值作為內容寫入控件,並添加控件事件來進行模擬。

;(function(){
    if( !(‘placeholder‘ in document.createElement(‘input‘)) ){
        // 匹配 除type=password以外所有input、textarea
        $(‘input[placeholder][type!=password],textarea[placeholder]‘).each(function(){   
            
var self = $(this), text= self.attr(‘placeholder‘); // 如果內容為空,則寫入 if(self.val()===""){ self.val(text).addClass(‘placeholder‘); } // 控件激活,清空placeholder self.focus(function(){ if(self.val()===text){ self.val(
"").removeClass(‘placeholder‘); } // 控件失去焦點,清空placeholder }).blur(function(){ if(self.val()===""){ self.val(text).addClass(‘placeholder‘); } }); }); } })();

在IE8及以下的瀏覽器中,不支持placeholder屬性的解決辦法