1、on的方式绑定
div.onclick = function(){}
//在这个div的click事件上 绑定一个处理函数function(){}
这种绑定方式兼容性特别好,最早的处理事件绑定函数的方法就是用onxxx这种方式。
但是它有点缺陷就是一个对象的一个事件只能绑定一个处理函数
如:我们给div绑定了一个事件a,又绑定了一个事件b,当我们点击div的时候即打印a又打印b,那么这样写是不行的
div.onclick = fucntion(){
console.log('a');
}
div.onclick = fucntion(){
console.log('b');
}
//这时只会打印b
//一个div上面的click事件只能绑定一个处理函数。
2、obj.addEventListener(type,fn,false);
div.addEventListener(事件类型,处理函数,false);//默认第三个参数是false
div.addEventListener('click',function(){},false);
//里面的function(){}叫做函数引用等同于:
div.addEventListener('click',test,false);
function test(){
}
这种绑定方式是最正式的一种
IE9以下不兼容(w3c标准),可以为同一个对象的同一个事件绑定多个处理函数
oDiv.addEventListener('click', function(){
console.log('a');
},false);
oDiv.addEventListener('click' ,function(){
console.log('b');
},false);
//这时会打印a b
3、obj.attachEvent(‘on’+type, fn);
div.attachEvent('on'+事件类型,处理函数);
div.attachEvent('onclick',function(){});
IE9独有的,也可以为同一个对象的同一个事件绑定多个处理函数。
并且还有更强大之处:它一个对象的一个事件绑定同一个函数,如果绑定多次可以执行多次。