标题:attachEvent() / addEventListener() 对象添加触发事件(转)   出处:Felix021 时间:Sat, 11 Oct 2008 21:45:54 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?1210 内容: zz from http://www.blogjava.net/boddi/archive/2006/08/15/63609.html attachEvent() / addEventListener() 对象添加触发事件(转) 有时候当某一对象的某一事件被触发时,它所要执行的程序可能是一大串,有可能是要呼叫某一函数,也有可能同时又要呼叫另一函数。 document.getElementById("btn").onclick = method1; document.getElementById("btn").onclick = method2; document.getElementById("btn").onclick = method3; 如果这样写,那么将会只有medhot3被执行 在IE中使用attachEvent , var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function); btn1Obj.attachEvent("onclick",method1); btn1Obj.attachEvent("onclick",method2); btn1Obj.attachEvent("onclick",method3); 执行顺序为method3->method2->method1 Mozilla系列中需要使用 addEventListener var btn1Obj = document.getElementById("btn1"); //element.addEventListener(type,listener,useCapture); btn1Obj.addEventListener("click",method1,false); btn1Obj.addEventListener("click",method2,false); btn1Obj.addEventListener("click",method3,false); 执行顺序为method1->method2->method3 看看gmail的代码 var Ka=navigator.userAgent.toLowerCase(); var rt=Ka.indexOf("opera")!=-1; var r=Ka.indexOf("msie")!=-1&&(document.all&&!rt); function Zl(a,b,c){if(r){a.attachEvent("on"+b,c)}else{a.addEventListener(b,c,false)}} Generated by Bo-blog 2.1.0