我知道实际的html5占位符功能不可用< IE10,但是实际的标记属性仍然可用吗?是否可以在<= IE8中使用占位符属性
要创建自己的自定义占位符,我用下面的脚本:
if(core.isInput(el)) {
el.initValue = str;
el.txtColor = core.dom.css(el, 'color');
var set = function() {
if(el.value == '') {
el.value = el.initValue;
el.style.color = '#BDBAB5';
}
};
set(); //Set the placeholder
core.dom.on(el, 'focus', function() {
if(this.value == this.initValue) {
this.value = '';
this.style.color = this.txtColor;
}
});
core.dom.on(el, 'blur', set);
} else {
console.error('Element is not an input.');
}
而不是必须手动设置占位符的元素,是有可能做这样的事情:
var inputs = document.getElementsByTagName('input');
for(var i=0; i<inputs.length; i++) {
var input = inputs[i];
if(input.getAttribute('placeholder') != undefined) {
//Set placeholder code
}
}
换句话说,如果我在HTML中设置了一个占位符,并且浏览器不支持它们,那么当我使用getAttribute时,该属性在输入上是否仍然可用?当我进行input.getAttribute('placeholder')检查时,我设置的属性最初是否可用,或者如果浏览器不支持它,浏览器是否会自动删除占位符属性?
目前我手动添加每个输入的占位符功能,但我宁愿使用自动onload脚本来完成这项工作。如果我无法通过检测占位符值来确定输入应该占位符,它将无法工作。
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#web-forms--input-placeholder – 2013-05-07 03:56:23
我宁愿写我自己的解决方案。 – ryandlf 2013-05-07 03:58:22
有什么意义? – 2013-05-07 03:59:53