Commit 313bee9d authored by Rick Waldron's avatar Rick Waldron

Moves key event fixes to own even prop hook defs

parent 9ef0394f
...@@ -8,6 +8,7 @@ var rnamespaces = /\.(.*)$/, ...@@ -8,6 +8,7 @@ var rnamespaces = /\.(.*)$/,
rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/, rtypenamespace = /^([^\.]*)?(?:\.(.+))?$/,
rhoverHack = /\bhover(\.\S+)?/, rhoverHack = /\bhover(\.\S+)?/,
rmouseEvent = /^(?:mouse|contextmenu)|click/, rmouseEvent = /^(?:mouse|contextmenu)|click/,
rkeyEvent = /^(?:key)/,
rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?(?::(first-child|last-child|empty))?$/, rquickIs = /^([\w\-]+)?(?:#([\w\-]+))?(?:\.([\w\-]+))?(?:\[([\w+\-]+)=["']?([\w\-]*)["']?\])?(?::(first-child|last-child|empty))?$/,
quickPseudoMap = { quickPseudoMap = {
"empty": "firstChild", "empty": "firstChild",
...@@ -492,6 +493,7 @@ jQuery.event = { ...@@ -492,6 +493,7 @@ jQuery.event = {
} }
// Fix target property, if necessary // Fix target property, if necessary
// Removal of this condition will crash IE6,7,8
if ( !event.target ) { if ( !event.target ) {
// Fixes #1925 where srcElement might not be defined either // Fixes #1925 where srcElement might not be defined either
event.target = event.srcElement || document; event.target = event.srcElement || document;
...@@ -507,16 +509,6 @@ jQuery.event = { ...@@ -507,16 +509,6 @@ jQuery.event = {
event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;
} }
// Add which for key events
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
event.which = event.charCode != null ? event.charCode : event.keyCode;
}
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
if ( !event.metaKey && event.ctrlKey ) {
event.metaKey = event.ctrlKey;
}
if ( this.propHooks[ event.type ] ) { if ( this.propHooks[ event.type ] ) {
event = this.propHooks[ event.type ]( event, originalEvent ); event = this.propHooks[ event.type ]( event, originalEvent );
} }
...@@ -1069,9 +1061,27 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl ...@@ -1069,9 +1061,27 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
jQuery.attrFn[ name ] = true; jQuery.attrFn[ name ] = true;
} }
// Add internal event property hooks to mouse events
if ( rmouseEvent.test( name ) ) {
// Key Event property hooks
if ( rkeyEvent.test( name ) ) {
jQuery.event.propHooks[ name ] = function( event, original ) {
// Add which for key events
if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
event.which = event.charCode != null ? event.charCode : event.keyCode;
}
// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
if ( !event.metaKey && event.ctrlKey ) {
event.metaKey = event.ctrlKey;
}
return event;
};
}
// Mouse Event property hooks
if ( rmouseEvent.test( name ) ) {
jQuery.event.propHooks[ name ] = function( event, original ) { jQuery.event.propHooks[ name ] = function( event, original ) {
var eventDocument, doc, body; var eventDocument, doc, body;
...@@ -1093,8 +1103,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl ...@@ -1093,8 +1103,7 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
} }
return event; return event;
}; };
} }});
});
})( jQuery ); })( jQuery );
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment