Changeset 6616
- Timestamp:
- 04/28/07 23:34:06 (1 year ago)
- Files:
-
- spinoffs/prototype/branches/event/src/event.js (modified) (5 diffs)
- spinoffs/prototype/branches/event/test/functional/event.html (modified) (1 diff)
- spinoffs/prototype/branches/event/TODO (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/prototype/branches/event/src/event.js
r6615 r6616 105 105 }); 106 106 107 var EventMethods = {107 Event.Methods = { 108 108 stop: function(){ Event.stop(this) } 109 109 }; … … 119 119 }); 120 120 121 Object.extend(Event.prototype, EventMethods); 121 // Safari can't stand this; we'll have to figure out a workaround 122 if (!B.WebKit) Object.extend(Event.prototype, Event.Methods); 122 123 } else if (B.IE) { 123 124 Object.extend(Observer.prototype, { … … 135 136 }); 136 137 137 Object.extend(Event Methods, {138 Object.extend(Event.Methods, { 138 139 stopPropagation: function() { this.cancelBubble = true }, 139 140 preventDefault: function() { this.returnValue = false }, … … 157 158 relatedTarget: Event.relatedTarget(event) 158 159 }); 159 return Object.extend(event, Event Methods);160 return Object.extend(event, Event.Methods); 160 161 } 161 162 }); … … 187 188 var buttonTranslations = { 0:1, 1:4, 2:2 }; 188 189 var isButton = function(event, code) { 189 return event.button === buttonTranslations[code]; 190 return event.button == buttonTranslations[code]; 191 }; 192 } 193 else if (B.WebKit) { 194 var isButton = function(event, code) { 195 switch (code) { 196 case 0: return event.which == 1 && !event.metaKey; 197 case 1: return event.which == 1 && event.metaKey; 198 default: return false; 199 } 190 200 }; 191 201 } spinoffs/prototype/branches/event/test/functional/event.html
r6615 r6616 197 197 </script> 198 198 199 <p id="context">Context menu event (tries to prevent default)</p> 200 201 <script type="text/javascript"> 202 $('context').observe('contextmenu', function(e){ 203 this.passed() 204 Event.stop(e) 205 log(e) 206 }) 207 </script> 208 199 209 <div id="container"><p id="stop"><strong>Stop propagation</strong> test (bubbling)</p></div> 200 210 spinoffs/prototype/branches/event/TODO
r6612 r6616 1 1 * [done] Event handling (IE) fixes and enhancements, see r6194 2 2 * [done] Remove all event listeners on any element 3 * [ wontfix] event.stop() instead of Event.stop(event)3 * [broken] event.stop() instead of Event.stop(event) 4 4 * [done] Node constants as per DOM/ECMAScript bindings (r6205) 5 * [done] isLeft/Middle/RightClick (r6537)5 * [done] isLeft/Middle/RightClick 6 6 * [done] support for "DOMContentLoaded" 7 7 * [done] Event.findElement should extend the result