为了实现输入表单提示文字特效,写了下面代码,为兼容IE8,添加了document.all检测浏览器,可是将addEventListener改成attachEvent,在IE8/IE6里面不能执行?
<input type='text' value='用户名' />
<input type='text' value='用户名' />
<script type="text/javascript">
function values(){
var get_input = document.getElementsByTagName("input");
for (var i=0;i<get_input.length;i++)
{
if(document.addEventListener)
{
get_input[i].addEventListener('focus',function(){if(this.value==this.defaultValue){this.value='';}});
get_input[i].addEventListener('blur',function(){if(this.value==''){this.value=this.defaultValue;}});
}
else
{
get_input[i].attachEvent('onfocus',function(){if(this.value==this.defaultValue){this.value='';}});
get_input[i].attachEvent('onblur',function(){if(this.value==''){this.value=this.defaultValue;}});
}
}
};
values();
</script>
似乎 attachEvent 的事件要加 on 的,你试一下
get_input[i].attachEvent('onfocus',fn);