方法1、将
var obj = document.getelementbyid(目标);
obj.setattribute(onclick
然而,IE不支持将设置一些属性的使用,包括对象的属性,设置属性和事件属性,也就是说,建立在IE.的风格,将onclick鼠标是不可行的

方法二。使用attachevent和addEventListener
IE支持attachevent,object.attachevent(事件、函数),例如:
复制代码代码如下所示:
obj.attachevent(onclick
函数()
{
警报(测试);
}

或写obj.attachevent(onclick
其他浏览器支持addEventListener,element.addeventlistener(类型、听众、useCapture,)
复制代码代码如下所示:
Obj.addEventListener(单击
函数()
{
警报(测试);
}

它也可以写成与obj.addEventListener在一起(单击
注意,attachevent事件发生,如onclick,和注册侦听器不会造成,如点击。
复制代码代码如下所示:
兼容性考虑:
如果(窗口。attachevent) / IE兼容
{
IE的事件代码
}
其他的
{
其他浏览器事件/代码
}

有两种添加事件的方法。为了添加相同的事件,我们必须重写一个通用的添加事件函数:

1版:
复制代码代码如下所示:
函数AddEvent(榆树、evtype,FN,useCapture){
如果(榆树。addEventListener){
Elm.addEventListener(evtype,FN,useCapture); / / dom2.0
返回true;
}
如果(榆树。attachevent){
VAR r = elm.attachevent(开+ evtype,FN); / / IE5 +
返回R;
}
{其他
榆树{开+ evtype } = FN; / / DOM 0
}
}

HTML5工作组的版本:
复制代码代码如下所示:
VaR AddEvent =(函数(){()
如果(文件。addEventListener){
返回函数(EL,类型,FN){
如果(长度){
对于(var i = 0;i < el.length;i++){
AddEvent(El {我},类型,FN);
}
其他{ }
El.addEventListener(型、FN、假);
}
};
其他{ }
返回函数(EL,类型,FN){
如果(长度){
对于(var i = 0;i < el.length;i++){
AddEvent(El {我},类型,FN);
}
其他{ }
El.attachEvent(开+类型,函数()){
返回fn.call(厄尔尼诺事件窗口。);
});
}
};
}
});

方法三,事件=函数
obj.onclick = foo;
这种绑定事件与主流浏览器兼容,但是如果一个元素添加了许多相同的事件
复制代码代码如下所示:
obj onclick=方法;
obj onclick=方法;
obj onclick=方法;

如果这是书面的,那么只有最后一个绑定的事件,在方法执行时,应绑定到事件方法二。

区分IE6,IE7和IE8的方式:
复制代码代码如下所示:
无功议=!window.activexobject;
无功isie6 =议!Window.XMLHttpRequest;
无功isie8 =议!document.documentmode;
无功isie7 =议!isie6!isie8;
如果(议){
如果(isie6){
警报(IE6 );
} else if(isie8){
警报(IE8 );
} else if(isie7){
警报(IE7 );
}
}