Skip to content
Permalink
Browse files

jquery event: caching the props array and fixing the loop that goes t…

…hru it. It was accessing an invalid index.
  • Loading branch information
flesler committed May 28, 2008
1 parent 52fbe5d commit abb055bb498c4938b8663eb37c98e9f9e8fd8c9e
Showing with 7 additions and 3 deletions.
  1. +7 −3 src/event.js
@@ -274,6 +274,8 @@ jQuery.event = {
return val;
},

props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" "),

fix: function(event) {
if ( event[expando] == true )
return event;
@@ -282,9 +284,11 @@ jQuery.event = {
// and "clone" to set read-only properties
var originalEvent = event;
event = { originalEvent: originalEvent };
var props = "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");
for ( var i=props.length; i; i-- )
event[ props[i] ] = originalEvent[ props[i] ];

for ( var i = this.props.length, prop; i; ){
prop = this.props[ --i ];
event[ prop ] = originalEvent[ prop ];
}

// Mark it as fixed
event[expando] = true;

0 comments on commit abb055b

Please sign in to comment.
You can’t perform that action at this time.