if (!element.$handle)
element.$handle = function() {
- jQuery.event.handle.apply(element, arguments);
+ // returned undefined or false
+ var val;
+
+ // Handle the second event of a trigger and when
+ // an event is called after a page has unloaded
+ if ( typeof jQuery == "undefined" || jQuery.event.triggered )
+ return val;
+
+ val = jQuery.event.handle.apply(element, arguments);
+
+ return val;
};
// Get the current list of functions bound to this event
data.unshift( this.fix({ type: type, target: element }) );
// Trigger the event
- if ( (val = this.handle.apply( element, data )) !== false )
+ if ( jQuery.isFunction(element.$handle) && (val = element.$handle.apply( element, data )) !== false )
this.triggered = true;
if ( fn && val !== false && !jQuery.nodeName(element, 'a') )
handle: function(event) {
// returned undefined or false
var val;
-
- // Handle the second event of a trigger and when
- // an event is called after a page has unloaded
- if ( typeof jQuery == "undefined" || jQuery.event.triggered )
- return val;
// Empty object is for triggered events with no data
event = jQuery.event.fix( event || window.event || {} );
document.removeEventListener( "DOMContentLoaded", jQuery.ready, false );
// Remove script element used by IE hack
- jQuery(window).load(function(){ jQuery("#__ie_init").remove(); });
+ if( !window.frames.length ) // don't remove if frames are present (#1187)
+ jQuery(window).load(function(){ jQuery("#__ie_init").remove(); });
}
}
});
var els = global[type], i = els.length;
if ( i && type != 'unload' )
do
- jQuery.event.remove(els[i-1], type);
+ els[i-1] && jQuery.event.remove(els[i-1], type);
while (--i);
}
});