Die erste Möglichkeit besteht darin, benutzerdefinierte Ereignisse direkt in __onfireEvents zu speichern
<code>var __onfireEvents = {}; function _bind(eventName, callback, is_one, context) { if (typeof eventName !== string_str || typeof callback !== function_str) { throw new Error('args: '+string_str+', '+function_str+''); } if (! hasOwnKey(__onfireEvents, eventName)) { __onfireEvents[eventName] = {}; } __onfireEvents[eventName][++__cnt] = [callback, is_one, context]; return [eventName, __cnt]; } function on(eventName, callback, context) { return _bind(eventName, callback, 0, context); } </code>
Die zweite Methode besteht darin, das benutzerdefinierte Ereignis zu speichern. Der Unterschied besteht jedoch darin, dass es an das Element gebunden ist. Gibt es hier Vorteile?
<code>$customSubMap = {}; subscribeEvent = function ( $collection, event_name, fn ) { $collection.on( event_name, fn ); if ( ! $customSubMap[ event_name ] ) { $customSubMap[ event_name ] = $collection; } else { $customSubMap[ event_name ] = $customSubMap[ event_name ].add( $collection ); } };</code>