在近来的工作中,用到了attachEvent方法,该方法可以为某一事件附加其它的处理事件,有时候可能比较有用,这里将其基本用法总结一下。

其语法可以查看《DHTML手册》,里面有详细的说明,这里贴一个例子,该例子来自互联网:

document.getElementById("btn").onclick = method1; 
document.getElementById("btn").onclick = method2; 
document.getElementById("btn").onclick = method3;
如果这样写,那么将会只有medhot3被执行

写成这样:
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


以上为转载,以下为我研究的具体实例
var el = EDITFORM_DOCUMENT.body;  
//先取得对象,EDITFORM_DOCUMENT实为一个iframe
if (el.addEventListener){
    el.addEventListener('click', KindDisableMenu, false); 
} else if (el.attachEvent){
    el.attachEvent('onclick', KindDisableMenu);
}
//用两种方法判断,以兼容各种浏览器。
posted on 2007-08-18 10:59  绿毛虫  阅读(170)  评论(0)    收藏  举报