attachEvent(事件名,函数) //IE
addEventListener(事件名,函数 false) //FireFox Chrome
兼容写法:
1 <script> 2 window.onload=function() 3 { 4 var aBtn=document.getElementById('btn'); 5 if(aBtn.attachEvent) //IE 6 { 7 aBtn.attachEvent('onclick', function(){ 8 alert('a'); 9 }); 10 11 aBtn.attachEvent('onclick', function(){ 12 alert('b'); 13 }); 14 } 15 else //FireFox Chrome 16 { 17 aBtn.addEventListener('click', function(){ //事件都是不加on的 18 alert('a'); 19 }, false); 20 21 aBtn.addEventListener('click', function(){ 22 alert('b'); 23 }, false); 24 } 25 }; 26 </script>
封装事件绑定函数:

function myAddEvent(obj,ev,fn) //对象obj ev事件 fn函数 { if(obj.attachEvent) { obj.attachEvent('on'+ev,fn); //给对象添加事件绑定 } else { obj.addEventListener(ev,fn,false); } };
封装事件绑定函数和应用实例:
1 <script> 2 window.onload=function() 3 { 4 var aBtn=document.getElementById('btn'); 5 myAddEvent(aBtn,'click',function(){ 6 alert('a'); 7 }); 8 9 myAddEvent(aBtn,'click',function(){ 10 alert('b'); 11 }); 12 13 /*封装事件绑定*/ 14 function myAddEvent(obj,ev,fn) //对象obj ev事件 fn函数 15 { 16 if(obj.attachEvent) 17 { 18 obj.attachEvent('on'+ev,fn); //给对象添加事件绑定 19 } 20 else 21 { 22 obj.addEventListener(ev,fn,false); 23 } 24 }; 25 }; 26 </script>
detachEvent(事件名称,函数)解除绑定
removeEventListener(事件名称,函数,false)解除事件绑定
封装解除事件绑定函数:

1 <script> 2 function myRmoveEvent(obj,ev,fn) 3 { 4 if(obj.detachEvent) 5 { 6 obj.detachEvent('on'+ev,fn) 7 } 8 else 9 { 10 obj.removeEventListener(ev,fn,false); 11 } 12 }; 13 </script>
<script> function myRmoveEvent(obj,ev,fn) { if(obj.detachEvent) { obj.detachEvent('on'+ev,fn) } else { obj.removeEventListener(ev,fn,false); } }; </script>