実際の 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') チェックを実行すると、最初に設定したプロパティが使用可能になりますか、それともサポートされていない場合、ブラウザーはプレースホルダー プロパティを自動的に削除しますか?
現在、入力ごとにプレースホルダー機能を手動で追加していますが、自動オンロード スクリプトを使用して作業を行いたいと考えています。プレースホルダー値を検出して、入力にプレースホルダーがあると判断できない場合は、機能しません。