aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/event.js2
-rw-r--r--test/unit/event.js15
2 files changed, 14 insertions, 3 deletions
diff --git a/src/event.js b/src/event.js
index 875f014d7..17872f02d 100644
--- a/src/event.js
+++ b/src/event.js
@@ -953,7 +953,7 @@ jQuery.fn.extend({
}
return this;
}
- if ( typeof selector !== "string" ) {
+ if ( selector === false || typeof selector === "function" ) {
// ( types [, fn] )
fn = selector;
selector = undefined;
diff --git a/test/unit/event.js b/test/unit/event.js
index 9bf9f788c..83f83469a 100644
--- a/test/unit/event.js
+++ b/test/unit/event.js
@@ -704,7 +704,7 @@ test("bind()/trigger()/unbind() on plain object", function() {
});
test("unbind(type)", function() {
- expect( 0 );
+ expect( 1 );
var $elem = jQuery("#firstp"),
message;
@@ -736,6 +736,17 @@ test("unbind(type)", function() {
$elem.bind("error1 error2.test",error)
.unbind()
.trigger("error1").triggerHandler("error2");
+
+ // Should only unbind the specified function
+ jQuery( document ).bind( "click", function(){
+ ok( true, "called handler after selective removal");
+ });
+ var func = function(){ };
+ jQuery( document )
+ .bind( "click", func )
+ .unbind( "click", func )
+ .click()
+ .unbind( "click" );
});
test("unbind(eventObject)", function() {
@@ -1111,7 +1122,7 @@ test("jQuery.Event( type, props )", function() {
// Supports jQuery.Event implementation
equal( event.type, "keydown", "Verify type" );
-
+
// ensure "type" in props won't clobber the one set by constructor
equal( jQuery.inArray("type", jQuery.event.props), -1, "'type' property not in props (#10375)" );