handle = jQuery.data( elem, "handle", eventHandle );
}
+ // If no handle is found then we must be trying to bind to one of the
+ // banned noData elements
+ if ( !handle ) {
+ return;
+ }
+
// Add elem as a property of the handle function
// This is to prevent a memory leak with non-native
// event in IE.
for ( var key in type ) {
this[ name ](key, data, type[key], fn);
}
-
return this;
}
if ( jQuery.isFunction( data ) ) {
- thisObject = fn;
fn = data;
data = undefined;
}
return fn.apply( this, arguments );
}) : fn;
- if ( type === "unload" && name !== "one" ) {
- this.one( type, data, fn, thisObject );
-
- } else {
- // Deprecated: Please don't expect an empty jQuery set to bind to document
- (!this.selector && !this.context ? jQuery(document) : this).each(function() {
+ return type === "unload" && name !== "one" ?
+ this.one( type, data, fn ) :
+ this.each(function() {
jQuery.event.add( this, type, handler, data );
});
- }
-
- return this;
};
});
return this;
}
- // Deprecated: Please don't expect an empty jQuery set to bind to document
- (!this.selector && !this.context ? jQuery(document) : this).each(function() {
+ return this.each(function() {
jQuery.event.remove( this, type, fn );
});
-
- return this;
},
trigger: function( type, data ) {
- // Deprecated: Please don't expect an empty jQuery set to bind to document
- (!this.selector && !this.context ? jQuery(document) : this).each(function() {
+ return this.each(function() {
jQuery.event.trigger( type, data, this );
});
-
- return this;
},
triggerHandler: function( type, data ) {
return ["live", type, selector.replace(/\./g, "`").replace(/ /g, "&")].join(".");
}
-jQuery.each( ("blur focus load resize scroll unload click dblclick " +
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {
return fn ? this.bind( name, fn ) : this.trigger( name );
};
- if ( jQuery.fnAttr ) {
- jQuery.fnAttr[ name ] = true;
+ if ( jQuery.attrFn ) {
+ jQuery.attrFn[ name ] = true;
}
});