1 window.onload = function(){ 2 var oDiv = document.getElementById('div1'); 3 var oSpan = document.getElementById('span1'); 4 5 bindEvent(oDiv , 'click',function(){ 6 alert(1); 7 }); 8 9 bindEvent(oDiv , 'click',function(){ 10 alert(2); 11 }); 12 13 bindEvent(oSpan , 'show',function(){ 14 alert(3); 15 }); 16 17 bindEvent(oSpan , 'show',function(){ 18 alert(4); 19 }); 20 21 bindEvent(oSpan , 'hide',function(){ 22 alert(5); 23 }); 24 25 26 fireEvent(oSpan , 'show'); //3 , 4 27 28 }; 29 30 function bindEvent(obj,events,fn){ 31 //obj : 楼层 32 //events : 书架 33 //fn : 一本书 34 35 obj.listeners = obj.listeners || {}; 36 obj.listeners[events] = obj.listeners[events] || []; 37 38 obj.listeners[events].push( fn ); 39 40 41 if(obj.addEventListener){ 42 obj.addEventListener(events,fn,false); 43 } 44 else{ 45 obj.attachEvent('on'+events,fn); 46 } 47 } 48 49 function fireEvent(obj,events){ //主动触发自定义事件 50 51 for(var i=0;i<obj.listeners[events].length;i++){ 52 obj.listeners[events][i](); 53 } 54 55 }
1 <div id="div1">div</div> 2 <span id="span1">span</span>