From abb055bb498c4938b8663eb37c98e9f9e8fd8c9e Mon Sep 17 00:00:00 2001 From: Ariel Flesler Date: Wed, 28 May 2008 20:43:13 +0000 Subject: [PATCH] jquery event: caching the props array and fixing the loop that goes thru it. It was accessing an invalid index. --- src/event.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/event.js b/src/event.js index 2bdf9ab..bcfd045 100644 --- a/src/event.js +++ b/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; -- 1.7.10.4