Changeset 7269 for spinoffs/prototype/branches/1-6-0-events
- Timestamp:
- 08/04/07 07:13:34 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/prototype/branches/1-6-0-events/CHANGELOG
r7268 r7269 1 1 *SVN* 2 3 * Make the eventName and handler arguments to Event.stopObserving optional. If no handler is specified, all handlers for the given event are unregistered. If no event name is specified, all observed events on the element are unregistered. [sam] 2 4 3 5 * Add cross-support for the DOMContentLoaded event through a Prototype custom event on document called "contentloaded". The DOMContentLoaded event fires before window.load, when the entire HTML document, but not necessarily its images, stylesheets or other assets, has loaded. Based on [6596]. [sam, Mislav Marohnić] spinoffs/prototype/branches/1-6-0-events/src/event.js
r7266 r7269 125 125 126 126 function getWrappersForEventName(id, eventName) { 127 var c = getCacheForID(id) , name = getDOMEventName(eventName);128 return c[ name] = c[name] || [];127 var c = getCacheForID(id); 128 return c[eventName] = c[eventName] || []; 129 129 } 130 130 … … 185 185 element = $(element); 186 186 var id = getEventID(element), name = getDOMEventName(eventName); 187 188 if (!handler && eventName) { 189 return getWrappersForEventName(id, eventName).each(function(wrapper) { 190 element.stopObserving(eventName, wrapper.handler); 191 }) && false; 192 193 } else if (!eventName) { 194 return Object.keys(getCacheForID(id)).each(function(eventName) { 195 element.stopObserving(eventName); 196 }) && false; 197 } 187 198 188 199 var wrapper = findWrapper(id, eventName, handler); spinoffs/prototype/branches/1-6-0-events/test/unit/event.html
r7266 r7269 129 129 }}, 130 130 131 testMultipleCustomEventObserversWithTheSameHandler: function() { with(this) { 132 var span = $("span"), count = 0, observer = function() { count++ }; 133 134 span.observe("somethingHappened", observer); 135 span.observe("somethingElseHappened", observer); 136 span.fire("somethingHappened"); 137 assertEqual(1, count); 138 span.fire("somethingElseHappened"); 139 assertEqual(2, count); 140 }}, 141 142 testStopObservingWithoutArguments: function() { with(this) { 143 var span = $("span"), count = 0, observer = function() { count++ }; 144 145 span.observe("somethingHappened", observer); 146 span.observe("somethingElseHappened", observer); 147 span.stopObserving(); 148 span.fire("somethingHappened"); 149 assertEqual(0, count); 150 span.fire("somethingElseHappened"); 151 assertEqual(0, count); 152 }}, 153 154 testStopObservingWithoutHandlerArgument: function() { with(this) { 155 var span = $("span"), count = 0, observer = function() { count++ }; 156 157 span.observe("somethingHappened", observer); 158 span.observe("somethingElseHappened", observer); 159 span.stopObserving("somethingHappened"); 160 span.fire("somethingHappened"); 161 assertEqual(0, count); 162 span.fire("somethingElseHappened"); 163 assertEqual(1, count); 164 span.stopObserving("somethingElseHappened"); 165 span.fire("somethingElseHappened"); 166 assertEqual(1, count); 167 }}, 168 131 169 testDocumentContentLoadedEventFiresBeforeWindowLoad: function() { with(this) { 132 170 assert(eventResults.contentLoaded, "contentLoaded");