以下代码基本实现关于在输入框设置提示语言的功能:
.textTips{
color:gray !important;
}
.textNormal{
color:black;
}
<textarea id="area1" rows="3" cols="30" empty="y" emptyText="simpleText">
someTips here</textarea>
function init(){
var area = document.getElementById('area1');
area.className = 'textTips';
function areaFocus(){
//修改(或删除)字体的class
area.className = 'textNormal';
if(area.getAttribute('empty') == 'y'){
area.value = ''
}
}
function areaBlur(){
/*
在输入框写入的文本,不会导致修改DOM而体现出来,因此不能通过area.firstChild.nodeValue读取,必须需要通过 area.value来读取。
*/
// var val = area.firstChild.nodeValue; --won't work.
var val = area.value;
if(val == ''){
area.className = 'textTips';
area.setAttribute('empty','y');
area.value = String(area.getAttribute('emptyText'));
}
else{
area.className = 'textNormal';
area.setAttribute('empty','n');
}
}
if(navigator.appName.indexOf('Microsoft') == -1){
isIE = false;
area.addEventListener('focus',areaFocus,false);
area.addEventListener('blur',areaBlur,false);
}
else{
isIE = true;
area.attachEvent('onfocus',areaFocus);
area.attachEvent('onblur',areaBlur);
}
}