Changeset 1929
- Timestamp:
- 05/20/07 16:51:52 (2 years ago)
- Files:
-
- 1 modified
-
trunk/jquery/src/event/event.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/jquery/src/event/event.js
r1886 r1929 187 187 event.target = event.srcElement; 188 188 189 // Add relatedTarget, if necessary 190 if ( !event.relatedTarget && event.fromElement ) 191 event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement; 192 193 // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) 194 if ( event.metaKey == null && event.ctrlKey != null ) 195 event.metaKey = event.ctrlKey; 196 197 // Add which for click: 1 == left; 2 == middle; 3 == right 198 // Note: button is not normalized, so don't use it 199 if ( event.which == null && event.button != null ) 200 event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); 201 189 202 // Calculate pageX/Y if missing and clientX/Y available 190 if ( event.pageX == undefined && event.clientX != undefined) {203 if ( event.pageX == null && event.clientX != null ) { 191 204 var e = document.documentElement || document.body; 192 205 event.pageX = event.clientX + e.scrollLeft; 193 206 event.pageY = event.clientY + e.scrollTop; 194 207 } 208 209 // Add which for keypresses: keyCode 210 if ( (event.which == null || event.type == "keypress") && event.keyCode != null ) 211 event.which = event.keyCode; 212 213 // If it's a keypress event, add charCode to IE 214 if ( event.charCode == null && event.type == "keypress" ) 215 event.charCode = event.keyCode; 195 216 196 217 // check if target is a textnode (safari) … … 457 478 function handleHover(e) { 458 479 // Check if mouse(over|out) are still within the same parent element 459 var p = (e.type == "mouseover" ? e.fromElement : e.toElement) ||e.relatedTarget;480 var p = e.relatedTarget; 460 481 461 482 // Traverse up the tree
