mirror of
https://github.com/jquery/jquery.git
synced 2026-01-25 21:18:33 -05:00
Prevent a single event object from being fixed more than once
This commit is contained in:
@@ -268,17 +268,23 @@ jQuery.event = {
|
||||
// Clean up added properties in IE to prevent memory leak
|
||||
if (jQuery.browser.msie)
|
||||
event.target = event.preventDefault = event.stopPropagation =
|
||||
event.handler = event.data = null;
|
||||
event.handler = event.data = event[expando] = null;
|
||||
|
||||
return val;
|
||||
},
|
||||
|
||||
fix: function(event) {
|
||||
if ( event[expando] == true )
|
||||
return event;
|
||||
|
||||
// store a copy of the original event object
|
||||
// and clone to set read-only properties
|
||||
var originalEvent = event;
|
||||
event = jQuery.extend({}, originalEvent);
|
||||
|
||||
// Mark it as fixed
|
||||
event[expando] = true;
|
||||
|
||||
// add preventDefault and stopPropagation since
|
||||
// they will not work on the clone
|
||||
event.preventDefault = function() {
|
||||
|
||||
Reference in New Issue
Block a user