placeholder 是 html5 的新属性,仅支持 html5 的浏览器才支持 placeholder,目前最新的 FF、Chrome、Safari、Opera 以及 IE10 都支持,IE6-IE9 都不支持!
placeholder 在各个浏览器下基本都是淡灰色显示,不同的地方在于 FF 和 Chrome 中,输入框获得焦点时,placeholder 文字没有变化,只有当输入框中输入了内容时,placeholder 文字才会消失;而在 Safari 和 IE10 下,当输入框获得焦点时,placeholder 文字便立即消失。
js 解决方法:
if( !("placeholder" in document.createElement("input")) ){ $("input[placeholder],textarea[placeholder]").each(function(){ var that = $(this), text= that.attr("placeholder"); if(that.val()===""){ that.val(text).addClass("placeholder"); } that.focus(function(){ if(that.val()===text){ that.val("").removeClass("placeholder"); } }) .blur(function(){ if(that.val()===""){ that.val(text).addClass("placeholder"); } }) .closest("form").submit(function(){ if(that.val() === text){ that.val(""); } }); });}
在页面里引入 jquery,再执行上面这段代码即可!
例子:
placeholder兼容
到此,placeholder 兼容问题已解决!