equal
deleted
inserted
replaced
|
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 } |