JS:attachEvent和addEventListener 使用方法
attachEvent方法,为某一事件附加其它的处理事件。(不支持Mozilla系列)
addEventListener方法 用于 Mozilla系列
举例:
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
使用实例:
1
。
var
el
=
EDITFORM_DOCUMENT.body;
//
先取得对象,EDITFORM_DOCUMENT实为一个iframe
if
(el.addEventListener)
{ el.addEventListener('click', KindDisableMenu, false);}
else
if
(el.attachEvent)
{ el.attachEvent('onclick', KindDisableMenu);}
2
。
if
(window.addEventListener)
{ window.addEventListener('load', _uCO, false);}
else
if
(window.attachEvent)
{ window.attachEvent('onload', _uCO);}
转载自:http://blog.csdn.net/tzsmin/archive/2009/01/15/3784683.aspx