今天小编跟大家讲解下有关让IE下支持Html5的placeholder属性的插件 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关让IE下支持Html5的placeholder属性的插件 的相关资料,希望小伙伴们看了有所帮助。
HTML5对Web Form做了许多增强 比如input新增的type类型、Form Validation等。 Placeholder是HTML5新增的另一个属性 当input或者textarea设置了该属性后 该值的内容将作为灰字提示显示在文本框中 当文本框获得焦点时 提示文字消失。以前要实现这效果都是用Javascript来控制才能实现 , firefox、google chrome等表示对其支持 , 唯独IE存在违和感啊! 例如: <input id="t1" type="text" placeholder="请输入文字" /> 介绍一个超强的让IE下支持placeholder的属性插件,同时也兼容其他不支持placeholder的浏览器,代码如下: 复制代码代码如下: $(document).ready(function(){ var doc=document, inputs=doc.getElementsByTagName('input'), supportPlaceholder='placeholder'in doc.createElement('input'), placeholder=function(input){ var text=input.getAttribute('placeholder'), defaultValue=input.defaultValue; if(defaultValue==''){ input.value=text } input.onfocus=function(){ if(input.value===text) { this.value='' } }; input.onblur=function(){ if(input.value===''){ this.value=text } } }; if(!supportPlaceholder){ for(var i=0,len=inputs.length;i<len;i++){ var input=inputs[i], text=input.getAttribute('placeholder'); if(input.type==='text'&&text){ placeholder(input) } } } }); 直接把代码复制下来,保存成一个js文件引用即可 不用再做任何处理 超级便利! ex : 这样做的确能让IE的Input显示placeholder属性,但是如果页面上只有一个input还好,如果是多个input,如果出现input没有填入任何值的话,那么它的空input会自动将placeholder的值填进value里面,从而发生错误.例如: 复制代码代码如下: <input type="text"placeholder="输入商品编码"name="goodscode"id="goodscode"value="123"/> <input type="text"placeholder="输入商品名称"name="goodsname"id="goodsname"value="输入商品名称"/> 解决办法就是在后台自己判断啦 , 也许能在上面的js文件里解决 , 以后再研究啦~!来源:爱蒂网