我了解实际的 html5 占位符功能不可用 < IE10,但实际的标签属性仍然可用吗?
要创建自己的自定义占位符,我使用以下脚本:
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') 检查时,我最初设置的属性是否可用,或者如果不支持,浏览器是否会自动删除占位符属性?
目前我为每个输入手动添加占位符功能,但我宁愿使用自动加载脚本来完成这项工作。如果我无法通过检测占位符值来确定输入应该具有占位符,那么它将不起作用。