Changeset 5344
- Timestamp:
- 04/28/08 21:09:27 (7 months ago)
- Files:
-
- 1 modified
-
trunk/jquery/src/event.js (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jquery/src/event.js
r5338 r5344 185 185 186 186 // Pass along a fake event 187 if ( event ) 188 data.unshift( { type: type, target: elem } ); 187 if ( event ) { 188 data.unshift({ 189 type: type, 190 target: elem, 191 preventDefault: function(){}, 192 stopPropagation: function(){}, 193 timeStamp: +new Date 194 }); 195 data[0][expando] = true; // no need to fix fake event 196 } 189 197 190 198 // Enforce the right trigger type … … 266 274 } 267 275 268 // Clean up added properties in IE to prevent memory leak269 if (jQuery.browser.msie)270 event.target = event.preventDefault = event.stopPropagation =271 event.handler = event.data = event[expando] = null;272 273 276 return val; 274 277 }, … … 279 282 280 283 // store a copy of the original event object 281 // and cloneto set read-only properties284 // and "clone" to set read-only properties 282 285 var originalEvent = event; 283 event = jQuery.extend({}, originalEvent); 286 event = { originalEvent: originalEvent }; 287 var props = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "); 288 for ( var i=props.length; i; i-- ) 289 event[ props[i] ] = originalEvent[ props[i] ]; 284 290 285 291 // Mark it as fixed … … 312 318 // check if target is a textnode (safari) 313 319 if ( event.target.nodeType == 3 ) 314 event.target = originalEvent.target.parentNode;320 event.target = event.target.parentNode; 315 321 316 322 // Add relatedTarget, if necessary
