Skip to content
Permalink
Browse files

Adding in backwards-compatiblity support for jQuery().bind/unbind/tri…

…gger - and immediately deprecating it. Please explicitly use jQuery(document) in your code.
  • Loading branch information
jeresig committed Jan 6, 2010
1 parent 6861b5d commit e9d5947b4abbc052046585227892da0adcd56caf
Showing with 31 additions and 5 deletions.
  1. +18 −5 src/event.js
  2. +13 −0 test/unit/event.js
@@ -752,6 +752,7 @@ jQuery.each(["bind", "one"], function( i, name ) {
for ( var key in type ) {
this[ name ](key, data, type[key], fn);
}

return this;
}

@@ -766,11 +767,17 @@ jQuery.each(["bind", "one"], function( i, name ) {
return fn.apply( this, arguments );
}) : fn;

return type === "unload" && name !== "one" ?
this.one( type, data, fn, thisObject ) :
this.each(function() {
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() {
jQuery.event.add( this, type, handler, data );
});
}

return this;
};
});

@@ -784,14 +791,20 @@ jQuery.fn.extend({
return this;
}

return this.each(function() {
// Deprecated: Please don't expect an empty jQuery set to bind to document
(!this.selector && !this.context ? jQuery(document) : this).each(function() {
jQuery.event.remove( this, type, fn );
});

return this;
},
trigger: function( type, data ) {
return this.each(function() {
// Deprecated: Please don't expect an empty jQuery set to bind to document
(!this.selector && !this.context ? jQuery(document) : this).each(function() {
jQuery.event.trigger( type, data, this );
});

return this;
},

triggerHandler: function( type, data ) {
@@ -118,6 +118,19 @@ test("bind(), trigger change on select", function() {
}).trigger('change');
});

test("bind/unbind/trigger on empty jQuery set", function() {
expect(1);

jQuery().bind("test", function(){
equals( this, document, "Handler triggered and bound on document." );
});

jQuery().trigger("test");

jQuery().unbind("test");
jQuery().trigger("test");
});

test("bind(), namespaced events, cloned events", function() {
expect(6);

0 comments on commit e9d5947

Please sign in to comment.
You can’t perform that action at this time.