attachEvent和addEventListener都是追加事件
attachEvent是ie的方法
addEventListener是火狐的方法一般事件兼容都是这么写:
function addEventHandler(oTarget, sEventType, fnHandler){
if(oTarget.addEventListener){
oTarget.addEventListener(sEventType, fnHandler, false);
}else if(oTarget.attachEvent){
oTarget.attachEvent("on" + sEventType, fnHandler);
}else{
oTarget["on" + sEventType] = fnHandler;
}
}
attachEvent是ie的方法
addEventListener是火狐的方法一般事件兼容都是这么写:
function addEventHandler(oTarget, sEventType, fnHandler){
if(oTarget.addEventListener){
oTarget.addEventListener(sEventType, fnHandler, false);
}else if(oTarget.attachEvent){
oTarget.attachEvent("on" + sEventType, fnHandler);
}else{
oTarget["on" + sEventType] = fnHandler;
}
}
系统支持'attachEvent' 就用attachEvent绑定事件
否则用 on+事件=function(){}形式添加事件, 比如 button.onclick=function(){}attachEvent绑定的事件对像里的this指windowaddEventListener 绑定的事件里的 this 指 绑定事件的元素本身
<SCRIPT LANGUAGE="JavaScript">
function fnHandler()
{
alert("加入了onclick事件")
}
function addEventHandler(){
var oTarget = document.getElementById("target")
if(oTarget.addEventListener)
{
alert("ff下添加事件")
oTarget.addEventListener("click",fnHandler,false);
}
else
{
alert("ie下添加事件")
oTarget.attachEvent("onclick",fnHandler);
}
}</SCRIPT>
<INPUT TYPE="button" value="目标button" id="target">
<INPUT TYPE="button" VALUE="为目标button加入onclick事件" ONCLICK="addEventHandler()">5楼已经解释的很清楚了啊 简化版的 自己分别在ie和ff下运行看吧
这句的最后一个参数,false,这两个起什么作用提,如果改成true会有什么不同?
,那么如果你设置为false,其单击事件的响应顺序就是有内之外,如果为true则有外之内。一般情况下设置为false.