placeholder兼容性问题

Posted To be better

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了placeholder兼容性问题相关的知识,希望对你有一定的参考价值。

由于placeholder是H5新属性,IE9及以下都不支持

 

解决办法:给input添加一个背景图,背景图里面添加placeholder内容,当焦点落在输入框中,背景图隐藏,即可做出类似的效果

 

 代码:

//引入jQuery框架
$(function(){ if(!(‘placeholder‘ in document.createElement(‘input‘))){ jQuery(‘:input[placeholder]‘).each(function(index, element) { var self = $(this), txt = self.attr(‘placeholder‘); self.wrap($(‘<div></div>‘).css({position:‘relative‘,float:‘left‘, zoom:‘1‘, border:‘none‘, background:‘none‘, padding:‘none‘, margin:‘none‘})); var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css(‘padding-left‘); var holder = $(‘<span></span>‘).text(txt).css({‘position‘:‘absolute‘, ‘left‘:pos.left, ‘top‘:pos.top, ‘height‘:h, ‘line-Height‘:h+‘px‘, ‘paddingLeft‘:paddingleft, ‘color‘:‘#aaa‘}).appendTo(self.parent()); self.focusin(function(e) { holder.hide(); }).focusout(function(e) { if(!self.val()){ holder.show(); }else{ holder.hide(); } }); holder.click(function(e) { holder.hide(); self.focus(); }); }); } });

  

以上是关于placeholder兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

如何修改placeholder的颜色

placeholder不兼容 IE10 以下版本的解决方法

RuntimeError: tf.placeholder() 与急切执行不兼容

解决输入框placeholder属性不兼容IE9及以下浏览器问题

JSIE兼容placeholder

ie下不支持placeholder 用jquery来完成兼容