nl_tokens: written by Dean Edwards 2005 with input from Tino Zijdel Matthias Miller Diego Perini http : // dean . edwards . name / weblog / 2005 / 10 / add - event /
pl_tokens: function dean_addEvent ( element , type , handler ) { if ( element . addEventListener ) { <mask> . addEventListener ( type , handler , false ) ; } else { // assign each event handler a unique ID if ( ! handler . $$guid ) handler . $$guid = dean_addEvent . guid ++ ; // create a hash table of event types for the element if ( ! element . events ) element . events = { } ; // create a hash table of event handlers for each element/event pair var handlers = element . events [ type ] ; if ( ! handlers ) { handlers = element . events [ type ] = { } ; // store the existing event handler (if there is one) if ( element [ "on" + type ] ) { handlers [ 0 ] = element [ "on" + type ] ; } } // store the event handler in the hash table handlers [ handler . $$guid ] = handler ; // assign a global event handler to do all the work element [ "on" + type ] = handleEvent ; } }