例如如下控件失去焦点已经有一个事件函数(函数名不定,在这只是举例,)。 <input name="txt" type="text" id="txt" onblur="alert(123)" />我想动态的给这个事件再添加一个执行函数
如果用txt.onblur=function(){……}注册事件函数会把原本的那个事件函数覆盖掉。
我的目的是不管该控件本身有没有事件函数,都加一个函数
if(txtObj.onblur ==null)
{
    txtObj.onblur = function(){HideTips();}
            
}
else
{
   //希望能 txtObj.onblur += function(){HideTips();}
}

解决方案 »

  1.   

    ie 可以用attchEvent,
    ff可以addEventListener
    参数百度下吧
    可以绑定多个事件
      

  2.   

    $("input[name='txt']").bind('blur ',function(){//function 1
    });
    $("input[name='txt']").bind('blur ',function(){//function 2
    });这样绑定后,会按顺序执行上面两个事件!(使用Jquery)
      

  3.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>

    </head>
    <body>
    <input name="txt" type="text" id="txt" onblur="alert(123)" />
    <script type="text/javascript">
    var domNode = document.getElementById("txt");
    //这里区分IE和firefox浏览器,IE有document.all属性 firefox没有 走else
    //而两个浏览器对此的实现是不同的
    if (document.all)
    {
    domNode.attachEvent("onblur",function(){
    alert("HideTips!");
    });
    }
    else
    {
    //在firefox中失去焦点是blur事件
    domNode.addEventListener("blur",function(){
    alert("HideTips!");
    },false);
    }
    </script>
    </body>
    </html>这段代码可以原样拷贝到html文件中运行 你试试 应该满足你的要求
      

  4.   

    直接用js 的 setAttribute方法就可以解决了。。 
    function tt(){
       // do something
    }
    document.getElementById('txt').setAttribute("onblur","tt()");
      

  5.   

    if(txtObj.onblur ==null)
    {
      txtObj.onblur = function(){HideTips();}
       
    }
    else
    {
      var blur1 = texObj.onblur //获得原来的响应函数
      txtOjb.onblur = function(){
          blur1(); //触发原来的函数
          HideTips();//触发添加后的函数
      }
    }