Commit 530c9155 authored by Dave Methvin's avatar Dave Methvin

Move initialization of event until we determine if anyone wants it.

parent bb520104
...@@ -289,35 +289,38 @@ jQuery.event = { ...@@ -289,35 +289,38 @@ jQuery.event = {
trigger: function( event, data, elem ) { trigger: function( event, data, elem ) {
// Event object or event type // Event object or event type
var type = event.type || event, var type = event.type || event,
namespaces = []; namespaces = [],
exclusive;
event = typeof event === "object" ?
// jQuery.Event object
event[ jQuery.expando ] ? event :
// Object literal
jQuery.extend( jQuery.Event(type), event ) :
// Just the event type (string)
jQuery.Event(type);
if ( type.indexOf("!") >= 0 ) { if ( type.indexOf("!") >= 0 ) {
// Exclusive events trigger only for the bare event type (no namespaces) // Exclusive events trigger only for the exact event (no namespaces)
event.type = type = type.slice(0, -1); type = type.slice(0, -1);
event.exclusive = true; exclusive = true;
} }
if ( type.indexOf(".") >= 0 ) { if ( type.indexOf(".") >= 0 ) {
// Namespaced trigger; create a regexp to match event type in handle() // Namespaced trigger; create a regexp to match event type in handle()
namespaces = type.split("."); namespaces = type.split(".");
event.type = type = namespaces.shift(); type = namespaces.shift();
namespaces.sort(); namespaces.sort();
} }
event.namespace = namespaces.join(".");
event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)");
if ( jQuery.event.customEvent[ type ] && !jQuery.event.global[ type ] ) { if ( jQuery.event.customEvent[ type ] && !jQuery.event.global[ type ] ) {
// No jQuery handlers for this event type, and it can't have inline handlers // No jQuery handlers for this event type, and it can't have inline handlers
return; return;
} }
// Caller can pass in an Event, Object, or just an event type string
event = typeof event === "object" ?
// jQuery.Event object
event[ jQuery.expando ] ? event :
// Object literal
jQuery.extend( jQuery.Event(type), event ) :
// Just the event type (string)
jQuery.Event(type);
event.namespace = namespaces.join(".");
event.namespace_re = new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.)?") + "(\\.|$)");
event.exclusive = exclusive;
// Handle a global trigger // Handle a global trigger
if ( !elem ) { if ( !elem ) {
// Don't bubble custom events when global (to avoid too much overhead) // Don't bubble custom events when global (to avoid too much overhead)
......
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