var chkother=document.getElementsByTagName("input"); 
   for (var i=0;i<chkother.length;i++)  {     if( chkother[i].type =="text")   
         
      {
      chkother[i].Attribute.Add("onfocus","c=chkother[i].style.background;chkother[i].style.background='#ECF9FC';")
      chkother[i].Attribute.Add("onblur","chkother[i].style.background=c;")
      }
}
}
我想开始页面加载的时候遍历所以有的input标签且对象.type==text的(也就是文本框),这代码哪里有问题呢?知道的朋友说下 

解决方案 »

  1.   

    if(window.attachEvent)
    {
      chkother[i].attachEvent('onfoucs', f1);
      chkother[i].attachEvent('onblur', f2);
    }
    这个if(window.attachEvent)是什么意思?
      

  2.   

    判断该浏览器是否有attachEvent的方法。一般来说,有就是IE浏览器,没有就是标准浏览器,像FF,Opera等
      

  3.   

    if(window.attachEvent)//判断浏览器是否支持attachEvent
    ie使用attachEvent给元素添加事件
    w3c使用addEventListener
      

  4.   

     chkother[i].Attributes.Add("onfocus","c=chkother[i].style.background;chkother[i].style.background='#ECF9FC';")
          chkother[i].Attributes.Add("onblur","chkother[i].style.background=c;")
          }
    我用这种方法添加不可以吗
      

  5.   


    var chkother=document.getElementsByTagName("input"),
        c = null;
    for (var i=0;i<chkother.length;i++) {
        if( chkother[i].type =="text") {
            (function(idx){
                var it = chkother[idx];
                it.onfocus = function(event) {
                    var target = getTarget();
                    c=target.style.background;
                    target.style.background='#ECF9FC';
                };
                it.onblur = function(event) {
                    var target = getTarget();
                    target.style.background=c;
                }
            })(i);
        }
    }
    function getTarget() {
        var ev = getEvent.caller.arguments[0] || window.event;
        return ev.target || ev.srcElement;
    }