在IE8及以下的瀏覽器中,不支持placeholder屬性的解決辦法
阿新 • • 發佈:2017-05-10
模擬 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屬性的解決辦法