以下代碼解決了在IE8及以下瀏覽器中不支持placeholder屬性。 原理:將placeholder的值作為內容寫入控制項,並添加控制項事件來進行模擬。 ...
以下代碼解決了在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'); } }); }); } })();