Skip to content
Permalink
Browse files
Make it so that you can pass in event data to .click(), et. al. Fixes…
… #6187.
  • Loading branch information
jeresig committed Feb 27, 2010
1 parent 9e06903 commit ba7195e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
@@ -1071,8 +1071,10 @@ jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblcl
"change select submit keydown keypress keyup error").split(" "), function( i, name ) {

// Handle event binding
jQuery.fn[ name ] = function( fn ) {
return fn ? this.bind( name, fn ) : this.trigger( name );
jQuery.fn[ name ] = function( data, fn ) {
return data || fn ?
this.bind( name, fn ? data : null, fn || data ) :
this.trigger( name );
};

if ( jQuery.attrFn ) {
@@ -11,6 +11,17 @@ test("bind(), with data", function() {
ok( !jQuery.data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
});

test("click(), with data", function() {
expect(3);
var handler = function(event) {
ok( event.data, "bind() with data, check passed data exists" );
equals( event.data.foo, "bar", "bind() with data, Check value of passed data" );
};
jQuery("#firstp").click({foo: "bar"}, handler).click().unbind("click", handler);

ok( !jQuery.data(jQuery("#firstp")[0], "events"), "Event handler unbound when using data." );
});

test("bind(), with data, trigger with data", function() {
expect(4);
var handler = function(event, data) {

0 comments on commit ba7195e

Please sign in to comment.