]> source.dussan.org Git - jquery.git/commitdiff
Landing pull request 377. Check custom data != null(undefined), allows zero; Fixes...
authorRick Waldron <waldron.rick@gmail.com>
Mon, 16 May 2011 14:38:36 +0000 (10:38 -0400)
committertimmywil <tim.willison@thisismedium.com>
Mon, 16 May 2011 14:38:36 +0000 (10:38 -0400)
More Details:
 - https://github.com/jquery/jquery/pull/377
 - http://bugs.jquery.com/ticket/9285

src/event.js
test/unit/event.js

index 2bed09046c8f6d4d4e3ba6a68995a2224e03e237..d2d57d676631a773a874951408ac2655926af53f 100644 (file)
@@ -345,7 +345,7 @@ jQuery.event = {
                event.target = elem;
 
                // Clone any incoming data and prepend the event, creating the handler arg list
-               data = data ? jQuery.makeArray( data ) : [];
+               data = data != null ? jQuery.makeArray( data ) : [];
                data.unshift( event );
 
                var cur = elem,
index 13877e019118b8032feaee70a3cef46e45627846..f71c7b29feff56b3948fe26c8ee246cf2a06c4d1 100644 (file)
@@ -14,6 +14,26 @@ test("null or undefined handler", function() {
        } catch (e) {}
 });
 
+test("bind(),live(),delegate() with non-null,defined data", function() {
+
+       expect(3);
+
+       var handler = function( event, data ) {
+                               equal( data, 0, "non-null, defined data (zero) is correctly passed" );
+                       };
+
+       jQuery("#foo").bind("foo", handler);
+       jQuery("#foo").live("foo", handler);
+       jQuery("div").delegate("#foo", "foo", handler);
+
+       jQuery("#foo").trigger("foo", 0);
+
+       jQuery("#foo").unbind("foo", handler);
+       jQuery("#foo").die("foo", handler);
+       jQuery("div").undelegate("#foo", "foo");
+
+});
+
 test("bind(), with data", function() {
        expect(4);
        var handler = function(event) {