web/wp-content/plugins/event-calendar/addEvent.js
changeset 136 bde1974c263b
equal deleted inserted replaced
135:53cff4b4a802 136:bde1974c263b
       
     1 //=====================================================================
       
     2 // Event Listener
       
     3 // by Scott Andrew - http://scottandrew.com
       
     4 // edited by Mark Wubben, <useCapture> is now set to false
       
     5 // Now allows callback lists for objects with an Id - Alex Tingle
       
     6 //=====================================================================
       
     7 function firetree_addEvent(obj, evType, fn)
       
     8 {
       
     9   if(obj.id){
       
    10     if(!document._callbacks_by_id)
       
    11         document._callbacks_by_id=new Array();
       
    12     if(!document._callbacks_by_id[obj.id])
       
    13         document._callbacks_by_id[obj.id]=new Array();
       
    14     document._callbacks_by_id[obj.id].push(fn);
       
    15     fn=callback;
       
    16   }
       
    17 
       
    18   if(obj.addEventListener){
       
    19     obj.addEventListener(evType, fn, false); 
       
    20     return true;
       
    21   } else if (obj.attachEvent){
       
    22     var r = obj.attachEvent('on'+evType, fn);
       
    23     return r;
       
    24   } else {
       
    25     return false;
       
    26   }
       
    27 
       
    28   function callback(e)
       
    29   {
       
    30     var n;
       
    31     if(e.currentTarget)    n=e.currentTarget; // Mozilla/Safari/w3c
       
    32     else if(window.event)  n=window.event.srcElement; // IE
       
    33     else                   return;
       
    34 
       
    35     if(n.id && document._callbacks_by_id[n.id])
       
    36       for(var i=0; i<document._callbacks_by_id[n.id].length; i++)
       
    37         document._callbacks_by_id[n.id][i](e);
       
    38   }
       
    39 }