Skip to content

Commit

Permalink
Make it so that you can pass in event data to .click(), et. al. Fixes…
Browse files Browse the repository at this point in the history
… #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.
6 changes: 4 additions & 2 deletions src/event.js
Expand Up @@ -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 ) {
Expand Down
11 changes: 11 additions & 0 deletions test/unit/event.js
Expand Up @@ -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) {
Expand Down

0 comments on commit ba7195e

Please sign in to comment.